微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure API 管理 - Liquid Transformation 不再有效

如何解决Azure API 管理 - Liquid Transformation 不再有效

我在使用液体模板的 Azure API 管理中有几个操作。 几周前,我意识到现有的液体模板停止工作。

我做错了吗? API 管理有问题吗?
根据 documentation,我找不到任何错误

因此,我创建了一个不转换请求正文的基本示例。

政策:

    <policies>
        <inbound>
            <base />
            <return-response>
                <set-status code="200" reason="OK" />
                <set-body template="liquid">
                    {   
                    "email":"{{body.EmailAddress}}"
                    }
                </set-body>
            </return-response>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>

请求:

POST https://hidden.azure-api.net/evaluation/mm/liquid HTTP/1.1
Host: hidden.azure-api.net
Ocp-Apim-Subscription-Key: ••••••••••••••••••••••••••••••••

{
    "EmailAddress": "sample@lorem.ipsum"
}

回复

HTTP/1.1 200 OK

content-length: 79
date: Wed,10 Feb 2021 07:50:53 GMT
vary: Origin

{   
   "email":""
}

我的期望是变形的身体:

{   
   "email":"sample@lorem.ipsum"
}

解决方法

您是否尝试将 Content-Type: application/json 标头添加到您的请求中? Liquid只有在设置了内容类型的情况下才有效,否则它不知道如何正确解析文档。

,

Microsoft 支持人员通知我,return-response 策略不支持带有 Liquid 模板的 set-body 策略。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。