我正在尝试在 API 中定义一个将 XML 转换为 JSON 的策略。我们的后端 API 目前仅支持 JSON,但我希望客户端能够发布 XML。我可以成功地将 JSON 转换为 XML 作为出站策略,但入站策略只会导致一个空帖子。
有效的出站策略是:
<outbound>
<base />
<json-to-xml apply="content-type-json" consider-accept-header="true" />
</outbound>
入站策略实际上是相反的:
<inbound>
<xml-to-json kind="direct" apply="content-type-xml" consider-accept-header="true" />
</inbound>
我创建了一个指向 requestbin 实例的新测试 API,因此我可以检查请求。我在 postman 中创建了一个简单的 XML 请求,并将 Content-Type 设置为 text/xml,但 requestbin 中的请求总是显示一个空帖子。
我尝试使用下面@miao-jiang 的有用评论进行调试。跟踪显示该策略已应用,但内容长度已被删除。我想知道这是否可能是根本原因?
2跟踪日志中的相关条目:
{"source":"xml-to-json", "timestamp":"2015-09-08T19:51:01.5919446Z", elapsed":"00:00:00.2116541", "data":"XML-to-JSON policy was applied. Original Content-Length header was removed as its value was invalidated. Content-Type header was set to 'application/json'."}
在这里您可以看到已应用策略,但请求中不存在 json。