Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何处理状态代码相同但含义不同的响应类型_Python 3.x_Django_Api_Flask - Fatal编程技术网

Python 3.x 如何处理状态代码相同但含义不同的响应类型

Python 3.x 如何处理状态代码相同但含义不同的响应类型,python-3.x,django,api,flask,Python 3.x,Django,Api,Flask,我正在构建一个API,在某些情况下,我们的前端可以请求API从表单发送数据。在后端检查数据,并返回响应状态代码200、201或400 比如说,, 状态代码200可能意味着从前端到API的请求是良好的,但是验证数据中有一个建议。(用户提交数据,后端验证,并为用户提供建议)。我们还可以返回200,其中所有内容都已签出,用户再次确认验证的数据看起来不错。 状态代码400可能表示请求不正确,但原因是缺少字段、字段为空,或者请求中没有足够的数据,以致后端无法验证表单数据 我目前的方法是发送一个带有消息、类

我正在构建一个API,在某些情况下,我们的前端可以请求API从表单发送数据。在后端检查数据,并返回响应状态代码200、201或400

比如说,, 状态代码200可能意味着从前端到API的请求是良好的,但是验证数据中有一个建议。(用户提交数据,后端验证,并为用户提供建议)。我们还可以返回200,其中所有内容都已签出,用户再次确认验证的数据看起来不错。 状态代码400可能表示请求不正确,但原因是缺少字段、字段为空,或者请求中没有足够的数据,以致后端无法验证表单数据

我目前的方法是发送一个带有消息、类型和状态代码的响应。 例如,从上面可以看出:

{"message": "The username should be: xxxx", "type": 0}, 200
{"message": "Everything looks good!", "type": 1}, 200
{"message": "Missing field", "type": 2}, 400
{"message": "Submitted data couldn't be validated. Try again?", "type": 3}, 400
然后在前端,我可以查看type属性和状态代码来决定向用户显示什么消息或如何显示


这听起来是一个好方法还是可以改进?请分享您对最佳实践的想法或建议。

您的后端不应发送用于指导客户端如何显示响应或错误异常的数据。客户端单独负责如何显示消息,包括错误消息。客户端用户界面可以随时间而变化,甚至在不同的设备之间


如果用户输入了一些无效数据,您可以执行请求,当您返回响应时,您只需在适当的位置显示错误消息。验证应该在客户端完成,当输入数据不正确时,不允许发送请求。您的后端可以并且仍然应该验证正在发送的数据,如果数据不正确,则返回400,但是客户端应用程序应该只有一个通用的错误处理程序。但是,如果您在客户端进行验证,就不应该发生这种情况。

您的后端永远不应该发送用于指导客户端如何显示响应或错误异常的数据。客户端单独负责如何显示消息,包括错误消息。客户端用户界面可以随时间而变化,甚至在不同的设备之间

如果用户输入了一些无效数据,您可以执行请求,当您返回响应时,您只需在适当的位置显示错误消息。验证应该在客户端完成,当输入数据不正确时,不允许发送请求。您的后端可以并且仍然应该验证正在发送的数据,如果数据不正确,则返回400,但是客户端应用程序应该只有一个通用的错误处理程序。但是,如果您在客户端进行验证,就不应该发生这种情况