我正在开发一个REST-ful Web服务,我对HTTP PUT方法有疑问。
我想允许人们使用应用程序/表单数据请求正文提交内容。但是,默认响应将在application / xml中。
这可以接受吗?
埃弗特
答案 0 :(得分:3)
内容类型仅在单个请求的范围内很重要。他们所做的就是描述正在发送的内容的格式。
您的Web服务应提供其能够提供的客户端请求最可接受的响应。客户端请求应包含描述可接受内容类型的Accept标头。如果您的服务无法在此标头中提供任何内容类型,请返回406 Not Acceptable
在您的情况下,如果您的客户GET
请求在Accept标头中包含application/xml
,则可以使用application/xml
进行回复,无论是否发出任何PUT
请求请求的资源。
编辑:
406 Not Acceptable
的{{3}}包含以下注释:
注意:允许HTTP / 1.1服务器返回响应 根据发送的接受标头不可接受 请求。在某些情况下,这甚至可能比发送一个更好 406回应。鼓励用户代理检查标题 传入的响应,以确定它是否可以接受。
因此,您可以随时返回application/xml
。
答案 1 :(得分:0)
RESTful服务应该为操作使用正确的HTTP方法(GET,HEAD,PUT,DELETE或POST),确保URI中包含任何作用域信息,并确保HTTP消息信封不包含另一个信封,即SOAP