对于使用多种格式的REST服务,是否有普遍接受的默认内容类型?

时间:2016-03-09 15:38:46

标签: rest http mime-types

如果您有一个接受多种格式的REST服务:

  • JS​​ON
  • XML
  • HTML表单数据

是否有广泛接受的默认'内容类型或:

  • 您可以根据最常见/常见用例自行选择
  • 不接受缺少的内容类型,消费者明确要求

例如,根据W3C,通过HTML进行POST的默认内容类型为application/x-www-form-urlencoded

2 个答案:

答案 0 :(得分:1)

正如您应该在响应中发送内容类型一样,您也应该期望在请求中包含内容类型。

此外,期望正确的内容类型是很常见的,例如参见Jira REST API

  

确保请求中的内容类型设置为“application / json”,如示例所示。

Twilio,其中包含已接受内容​​类型的列表,并说:

  

如果内容类型标题与媒体不匹配,Twilio将拒绝该请求。

而且我很确定Outlook Mail REST API还需要正确设置它。

所以,是的,我会说:“不要接受缺少的内容类型”。

答案 1 :(得分:1)

强烈建议服务器应拒绝具有丢失或不适当的Content-Type标头的请求。 RFC 7231有明确的代码:

  

6.5.13。 415不支持的媒体类型

     

415(不支持的媒体类型)状态代码表示
  原始服务器因为有效负载而拒绝服务请求   在目标资源上采用此方法不支持的格式   格式问题可能是由于请求的指示   内容类型或内容编码,或检查中的结果   数据直接。

即使没有明确提及缺少 Content-Type,这也是公认的做法。请参阅:HTTP status code for unaccepted Content-Type in request