tyr*_*pex 1 rest http dropwizard http-patch
我在dropwizard REST资源上实现了一个PATCH方法.目前只有要修补的资源属性的子集.目前只能实现更换操作.
如果我看到未PATCH支持的属性/路径请求,我应该返回哪个HTTP代码?如果请求不受支持add或remove操作,我应该返回什么?
如果我看到未
PATCH支持的属性/路径请求,我应该返回哪个HTTP代码?
在这种情况下,服务器应返回405以指示目标资源不支持HTTP方法.除状态代码外,服务器还必须返回一个Allow标题,列出该资源支持的方法:
的
405(不允许的方法)状态代码表示在请求线接收的方法是由源服务器已知的,但不是由目标资源支持.原始服务器必须Allow在405响应中生成包含目标资源当前支持的方法列表的 头字段.
如果请求不受支持
add或remove操作,我应该返回什么?
我假设你的意思add,并remove从操作JSON补丁,描述操作的顺序,以适用于JSON文件,适合与使用的JSON文件PATCH的HTTP方法.
因此,请查看RFC 5789的错误处理部分,即定义HTTP方法的文档.PATCH
事实上,您的问题中描述的情况是由于语义原因而无法由服务器处理的实体.422根据RFC 5789,这是一个合理的选择:
不可处理的请求:
422当服务器理解补丁文档并且补丁文档的语法看起来有效但服务器无法处理请求时,可以使用(不可处理的实体)响应指定.这可能包括尝试以导致资源变为无效的方式修改资源; 例如,对格式良好的XML文档的修改会导致它不再格式正确.[...]
另请注意同一文档中的以下建议:
错误响应的实体主体应该包含足够的信息来将错误的性质传达给客户端.响应实体的内容类型可以根据实现而变化.
在RFC 7807定义了可用于报告在HTTP API的问题的文件格式.
| 归档时间: |
|
| 查看次数: |
248 次 |
| 最近记录: |