标签: http http-status-codes
假设我的API中有一个具有以下URL的终结点:
www.example.com/api/create-order-for-restaurant/
现在,在我的POST请求中,我发送以下数据:
{ "restaurant_id": 43, "order": {...} }
假设我的数据库中不存在ID为43的餐厅。应该发送回客户端的适当的HTTP状态代码应该是什么?
如果我应该发回404或500,我感到困惑。
404
500
答案 0 :(得分:2)
这是客户端错误,因为客户端指定了不存在的restaurant_id。
任何客户端错误的默认代码为400,在这里也很合适。 有一些更具体的客户端错误代码可能适用于这种情况,但是除非客户端可以对此信息进行某些操作不是很重要。
所以400、422很好。 500不是。 500表示存在服务器端问题,但据我所知,您正在描述客户端使用不正确的restaurant_id的情况。