sunliwen / poco

Poco v1.6
0 stars 1 forks source link

API返回结果的处理 #11

Open jacobfan opened 10 years ago

jacobfan commented 10 years ago

目前使用的Django REST Framekwork,当有exception发生时,默认的方式是返回 {"detail": "xxx"}。这不符合我们的错误格式,需要定制。

refs: http://www.django-rest-framework.org/api-guide/exceptions

aoeuidht commented 10 years ago

@jacobfan 关于这个ticket,我有两个疑问。

  1. apis/search 中,有很多类似于
try:
    rst = self._search(params)
except:
    return Response()

这种主动捕获异常然后返回出错信息的逻辑,我们是否需要处理这种场景,还是只需要负责目前程序中处理的,由rest_framework捕获的异常。

  1. 白天提到的统一返回数据格式的问题,是否需要将apis/serach正确结果一起修改为形如
{"code": 0, "response"}

的格式?

jacobfan commented 10 years ago

@lisztli 对于事先预料到的场景,可以这么处理。由rest_framework捕获的异常是为了处理没有预料到的。

你将apps/apis/search/views.py里面几个view的正确结果也加上"code": 0吧。