Geo*_*app 3 rest jax-rs jersey http-error
我们正在编写REST服务,并且当有人请求具有不存在的父ID的资源时,如何做有争议.
示例:您要求提供与公司关联的人员列表,因此您GET使用ID 1,但该公司ID不存在.
我认为REST的定义说我们会简单地返回一个空列表(导致a HTTP 204 (No Content)),因为根据规范,HTTP Bad Request仅用于格式错误的语法:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
由于语法格式错误,服务器无法理解请求.客户端不应该在没有修改的情况下重复请求.
我认为更清楚的是没有要解释的错误,您请求的资源不存在.
关于最佳实践的想法?
这里有一个SO讨论:HTTP 400(错误的请求)用于逻辑错误,而不是格式错误的请求语法,虽然它有点抽象,如果我发布这个,或者只是使用那个问题,我就会被撕裂.
如果你这样做
GET /company/1
Run Code Online (Sandbox Code Playgroud)
并且不存在id为1的公司,那么我认为相应的HTTP状态代码是404 - 找不到.
但是,如果你这样做,
GET /companies?id=1
Run Code Online (Sandbox Code Playgroud)
然后我会返回一个200和一个空的公司列表.
| 归档时间: |
|
| 查看次数: |
1404 次 |
| 最近记录: |