如何为多部分响应指定HTTP接受标头?

时间:2015-03-23 18:08:44

标签: http http-headers

我想与HTTP端点进行通信,对于其多部分响应,我希望第1部分(或引用内容处理文件名)为JSON,第2部分为XML,这是正确的方法那样做?

我可以同时包含JSON和XML,但仅此一点并不表达我想要为每个部分设置不同格式的意图。

编辑: 假设我有一项服务,现在它正在返回以下内容:

Content-Type: multipart/mixed; boundary=--37adc569155a4943b203e28a422cb96f
Content-Length: ...

----37adc569155a4943b203e28a422cb96f
Content-Type: application/xml; charset=utf-8
Content-Disposition: result

<Result>
    ...
</Result>

----37adc569155a4943b203e28a422cb96f
Content-Type: application/json; charset=utf-8
Content-Disposition: state

{ "Score": 42, ... }

----37adc569155a4943b203e28a422cb96f--

我可以,并且希望支持以不同格式传回数据,例如,使用协议缓冲区发送state或使用JSON进行result

我认为正确的方法是通过HTTP Accept标头,但是我如何与JSON中的state和协议中的result进行通信?缓冲?如果Accept标题不可行,那么我应该使用什么呢?

1 个答案:

答案 0 :(得分:0)

我认为您要做的事情并非由任何RFC定义,并且要求使用自定义标头字段。我会添加像

这样的标题
X-Foo-Accept-State: application/json; charset=utf-8
X-Foo-Accept-Result: application/xml; charset=utf-8

(其中“Foo”是您的公司名称。有关命名自定义标题字段的最佳方法的参数,请参阅其他地方。)