一个django包,允许您简单地编写api
django-simpleapi的Python项目详细描述
django simpleapi是麻省理工学院授权的django应用程序,用python编写,面向开发人员。
有多少次您想在django中创建一个简单的json api。 我是说简单。有很多很棒的工具 你只想发回一些json。
这个应用程序让这件事变得非常简单。
fromsimpleapiimportapi_handler@api_handlerdefget_some_yak(request):return{'yak':'yummm'}urlpatterns=patterns('',url(r'^get/some/yak$',get_some_yak),)
curl http://localhost:8000/get/some/yak {"data": {"yak": "yummm"}, "meta": {"code": 200}}
功能
- django的一个简单api
- 易于执行处理、创建
- 易于添加到meta
安装
要安装请求,只需:
$ pip install django-simpleapi
文档
最简单的入门方法是使用api_处理程序decorator。
fromsimpleapiimportapi_handler@api_handlerdefget_some_yak(request):return{'yak':'yummm'}
任何返回dict对象的view函数都将使用此接口。
接下来,通常在api中,由于某些原因,您需要失败。验证,缺少参数,请命名。有一种简单的方法可以实现这一点simplehttpexception
fromsimpleapiimportapi_handler,SimpleHttpException@api_handlerdefget_some_yak(request):required_param=request.GET.get('required_param')ifrequired_paramisNone:raiseSimpleHttpException("Missing required_param",'missing-required-param',400)return{'yak':'yummm'}
现在,当您请求此视图并忘记传递必需的参数时,您将看到类似的内容。
curl http://localhost:8000/get/some/yak {"meta": {"code": 400, "error_message": "Missing required_param", "error_slug": "missing-required-param"}}
不仅http状态代码将在元响应中,它还将是发送回来的http代码。error slug有助于按进度解决异常。更简单的方法是依靠细绳拍打来找出哪里出了问题。
最后,您可能希望将自己的信息添加到信封的元部分。这将有助于传递信息,如分页信息。
fromsimpleapiimportapi_handler@api_handlerdefget_some_yak(request):request.META['_simple_api_meta']['yak_count']=1return{'yak':'yummm'}
现在的反应是这样的。
curl http://localhost:8000/get/some/yak {"data": {"yak": "yummm"}, "meta": {"code": 200, "yak_counter": 1}}