如何实现自定义响应?

时间:2017-04-17 01:54:47

标签: python django rest django-rest-framework

我发现DRF的返回值在不同场合可能会有所不同。所以我想确保我的所有JSON返回都有“代码”“消息”或其他嵌套在里面的值,以保持我的API的一致性。

例如:

成功

{"code": 1, "status": "success", "message": "", "data": [{"id": 1, "name": "John Doe", "email": "johndoe@gmail.com"}]}

错误

{"code": -1, "status": "error", "message":"Something went wrong","data": [] }

无论结果如何,返回将始终具有“代码”“状态”“消息”“数据”。

在查看Google之后却找不到任何关于DRF的解决方法。所以我想每个人都在重新定义APIViews或Mixins(得到帖子等)来控制响应。但我不确定如果没有某种模式,回报应该是那么大不相同。或者DRF的JSON响应可以直接作为生产案例采用酷吗?

希望得到你们的一些建议。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用HTTP的状态代码来指示错误和成功,您无需明确指定错误代码和响应代码。在DRF中,状态代码在模块rest_framework.status中定义  你应该使用它们并相应地形成响应。