restful 规范(建议)
1.根据method不同做不同的操作
基于FBV
urlpatterns = [
path('order/',views.order),
]
def order(request):
if request.method=="GET":
return HttpResponse('获取订单')
elif request.method=="POST":
return HttpResponse('创建订单')
elif request.method=="PUT":
return HttpResponse('更新订单')
elif request.method=="DELECT":
return HttpResponse('删除订单')
基于CBV的
urlpatterns = [
path('orderview/',OrderView.as_view()),
]
class OrderView(View):
def get(self,request):
return HttpResponse('获取订单')
def post(self,request):
return HttpResponse('添加订单')
def put(self,request):
return HttpResponse('更新订单')
def delect(self,request):
return HttpResponse('删除订单')
restful通讯协议规范
1.使用https
- 子域名型(需要解决跨域安全问题):
www.xxxx.com
api.xxxx.com
url型(不需要解决跨域安全问题):
www.xxxx.com
www.xxxx.com/api
3.版本
www.xxxx.com/api/v1/
4.路径,视网络上任何东西都是资源,均用名词表示
www.xxxx.com/api/v1/名词/
5.返回状态码status(有的公司也不写状态码)
6.code
class OrderView(View):
def get(self,request):
ret={
'code':1000,
'msg':'xxx'
}
return HttpResponse(json.dumps(ret),status=201)