当响应数据是错误消息时,我们应该在REST回复上使用什么响应代码

时间:2016-12-16 15:56:24

标签: rest

我们有一个REST服务,其中对请求的响应可能是错误消息。一个简单的例子是请求是一个计算公式,公式可能除以零。在这种情况下,响应是错误代码和错误消息。

因此与REST服务的通信都很好。服务本身正在响应请求。但是响应是错误消息而不是预期的结果。

在这种情况下,最佳响应代码是什么? 200说整个通信过程是好的,我们查看返回的JSON以确定它是否是一个错误? 500说它是一个错误,但然后看看我们是否有预期的JSON来确定它是计算中的错误?其他一些代码表示我们从服务器获得响应,但响应是错误消息?

2 个答案:

答案 0 :(得分:1)

  

一个简单的例子是请求是一个计算公式,公式可能除以零。 [...]在这种情况下,最好的响应代码是什么?

我会使用 422 Unprocessable Entity

  

422(不可处理实体)状态代码表示服务器理解请求实体的内容类型(因此415(不支持的媒体类型)状态代码不合适),并且请求实体的语法是正确的(因此400 (错误请求)状态代码不合适)但无法处理包含的指令。例如,如果XML请求主体包含格式正确(即语法正确)但语义错误的XML指令,则可能会出现此错误情况。

无论如何不要只依赖依赖 ,总是在正文中添加错误的描述。我相信通常的做法是让所有端点都使用success(真或假)的JSON回复,如error success,如果data如果成功,则为false或countries id , country_prefix cities city_id, city_name, country_id, city_prefix ,consumer_rates (结果)。

答案 1 :(得分:0)

对于错误消息,我们可以使用4XX错误请求

查看此帖子,了解各种状态代码。

http://www.restapitutorial.com/httpstatuscodes.html