相关疑难解决方法(0)

400对422对数据POST的响应

我正在尝试使用我正在处理的"类似REST"的API来确定在不同场景下返回的正确状态代码.假设我有一个终点允许以JSON格式进行POST'ing购买.它看起来像这样:

{
    "account_number": 45645511,
    "upc": "00490000486",
    "price": 1.00,
    "tax": 0.08
}
Run Code Online (Sandbox Code Playgroud)

如果客户向我发送"sales_tax"(而不是预期的"税收"),我应该返回什么.目前,我要回400.但是,我已经开始质疑自己了.我应该真的回来422吗?我的意思是,它是JSON(支持)并且它是有效的JSON,它只是不包含所有必需的字段.

rest http-status-codes

323
推荐指数
5
解决办法
25万
查看次数

REST API 404:错误的URI或缺少资源?

我正在构建REST API,但我遇到了一个问题.

似乎在设计REST API时接受的做法是,如果请求的资源不存在,则返回404.

但是,对我来说,这增加了不必要的模糊性.传统上,HTTP 404与错误的URI相关联.所以实际上我们说"要么你到了正确的地方,但那个特定的记录不存在,或者互联网上没有这样的位置!我真的不确定哪一个......"

考虑以下URI:

http://mywebsite/api/user/13
Run Code Online (Sandbox Code Playgroud)

如果我得到404,那是因为用户13不存在吗?或者是因为我的网址应该是:

http://mywebsite/restapi/user/13
Run Code Online (Sandbox Code Playgroud)

过去,HTTP 200 OK如果记录不存在,我只返回带有响应代码的NULL结果.它很简单,在我看来非常干净,即使它不一定是公认的做法.但是有更好的方法吗?

rest web-services http

190
推荐指数
8
解决办法
18万
查看次数

空表的正确REST响应?

比方说,你想通过调用来获得用户的列表getapi/users,但目前该表已被截断,所以没有用户.什么是这种情况下适当的反应404还是204

api rest http

95
推荐指数
5
解决办法
3万
查看次数

如果没有可用数据,应该返回什么http

例如,我有一个/api/orders.getOrders实际上总是存在的api方法.如果此方法不返回以下格式的数据,我应该发送404或200 http响应代码吗?

{ "orders":[] }

rest api-design

6
推荐指数
1
解决办法
2317
查看次数

标签 统计

rest ×4

http ×2

api ×1

api-design ×1

http-status-codes ×1

web-services ×1