Restful规范

Restful规范

一、RESTFUL API设计规范 (10条):

  • API与用户的通信协议,总是使用HTTPS协议

  • 域名:

  • 版本:

    • 可以放在路径中

    • 可以放在请求头中

  • 路径:视网络上任何东西都是资源,均使用名词表示

  • 通过method区分是什么操作

    • get表示获取

    • post 表示新增

    • delete表示删除

    • patch/put 表示修改

  • 过滤,通过在url上传参的形式传递搜索条件

  • 状态:状态码{"status_code":100}

  • 错误处理,返回错误信息

    {"status_code":100,'msg':'登录成功'} {"status_code":101,'msg':'用户名错误'}

  • 返回结果,针对不同的操作服务器向用户返回的结果

  • 返回结果提供链接

二 、基于Django的实现

# 路由函数
url(r'^books/', views.Books.as_view()),


# 视图函数
def books(request):
   # 获取所有图书
   if request.method=='GET':
       books=models.Book.objects.all()
       #把queryset对象转成json格式字符串
       # ll=[]
       # for book in books:
       #     bo={'name':book.name,'publish':book.publish}
       #     ll.append(bo)
       #列表推导式
       ll=[{'name':book.name,'publish':book.publish} for book in books]

       response={'code':100,'msg':'查询成功','data':ll}
       #safe=False 如果序列化的对象中有列表,需要设置
       return JsonResponse(response,safe=False,json_dumps_params={'ensure_ascii':False})
原文地址:https://www.cnblogs.com/king-home/p/11117957.html