【发布时间】:2019-03-29 10:58:29
【问题描述】:
我有一个这样的端点:
GET /api/customer/primary
如果存在主要客户,我会返回类似
{
name: "customerName"
}
但是如果我发送 GET 并且主要客户不存在怎么办?
使用空 JSON 发送 200 OK 是否更好{}
还是只发送 204 No Content 更好?
【问题讨论】:
-
您可能应该返回 404,因为找不到实体。
-
我不希望客户认为发生了错误。就我而言,如果主要客户不存在,那是完全可以的。
-
404 并不意味着发生了错误。它只是表示请求的资源不存在。否则客户端如何知道它没有资源与资源存在但它没有表示。
-
这似乎是见仁见智。见stackoverflow.com/q/34312023/217324,双方都有争论。
-
@NathanHughes 在那个问题中讨论了不同的情况,即当实体列表被访问并且它是空的时。