编写没有价值的REST API时返回什么?

时间:2019-12-12 15:03:37

标签: spring rest api spring-boot spring-data-jpa

我想知道当我们使用Spring Data以按ID查找对象时,REST Api应该返回什么?

我看到很多人会返回404 Not found和其他204 No content。

但是可以想象客户端总是必须捕获异常或检查返回的对象是否不为null。

我认为最好总是返回一个没有null的对象,甚至返回空值,这样我们可以尊重null对象的设计模式。 我想要你们的建议

3 个答案:

答案 0 :(得分:0)

根据您的偏好,您可以返回404或204,或者如果您想发送任何自定义消息,也可以这样做。但总的来说,我认为发送404更好。API使用者很容易获得错误代码并显示必要的消息。

答案 1 :(得分:0)

我将返回一个响应代码200,其中的正文表示详细信息。

因为,端点存在,所以发出的请求是完全有效的,可以处理,但是没有匹配项。

如果对端点的请求无效,则将查看其他4xx错误。

但是,这也取决于消费者的实现方式。

答案 2 :(得分:0)

REST不太在意;如果资源具有当前表示形式,则可以发送该表示形式,并在响应头中对其进行注释。如果它没有当前的表示形式,那么您将发送错误的表示形式,并在标题中添加适当的注释。

但是REST没有提供关于哪个/何时资源应该具有当前表示形式的任何指导。

如果该资源具有默认表示形式,则可以,即使您的数据库/文档存储/文件系统/中没有匹配的数据,也可以使用它。...