来自Api的Http请求处理的最佳方法

时间:2018-10-27 22:34:25

标签: rest api web-services http

在我们尝试添加,删除,创建,更新等操作时,对于基本数据库操作的api返回值的最佳做法是什么?

1-(是否存在最适合这些操作的状态代码?)仅返回相应的http状态代码?(例如,返回204用于删除操作,201创建操作,500用于“数据处理”不存在”等。

2-返回布尔值

3-返回自定义异常

暂时,假设我们有项目 A ,它正在使用项目 B 的api。并且 B 试图从数据库中删除具有特殊ID的记录,但是该ID在db中不存在。对于这种情况,我们应该怎么做?

1 个答案:

答案 0 :(得分:1)

  

1-(是否存在最适合这些操作的状态代码?)仅返回相应的http状态代码?(例如,返回204用于删除操作,201创建操作,500用于“数据不存在”等)< / p>

返回204进行删除,返回201进行创建绝对是可以的,但是请尝试从请求者的角度考虑什么是最具描述性的响应代码。另外,请记住,当服务器端出现问题(例如意外异常)时,将使用500个响应代码。

  

暂时,假设我们有项目A,并且它正在使用项目B的api。并且B试图从数据库中删除具有特殊ID的记录,但是该ID在db中不存在。对于这种情况,我们应该怎么办?做什么?

再次考虑对请求者最有用的错误。 404未找到将准确描述操作失败的原因。如果您想使其更具描述性,则可以在响应正文中放置一条错误消息-不必这样做。

相关问题