博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Restful规范
阅读量:4593 次
发布时间:2019-06-09

本文共 915 字,大约阅读时间需要 3 分钟。

Restful规范

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

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

  • 域名:

    • 尽量将API部署在专用域名(会存在跨域问题)

    • API很简单

  • 版本:

    • 可以放在路径中

    • 可以放在请求头中

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

  • 通过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

你可能感兴趣的文章
NSNotification与NSNotificationCenter
查看>>
qt 中文乱码 处理QByteArray类型里含中文的数据
查看>>
跨库事务一致性问题的解决方式(例)
查看>>
ios build时,Undefined symbols for architecture xxx问题的总结
查看>>
20140704,七月微软安全补丁的通知
查看>>
JavaScript对象
查看>>
南理第八届校赛同步赛-C count_prime//容斥原理
查看>>
html 标签学习(续)
查看>>
iOS的规范问题
查看>>
Segments CodeForces 909B (找规律)
查看>>
【转】Castle开发系列文章
查看>>
WPF集合控件实现分隔符(ItemsControl Separator)
查看>>
手机连不上电脑的解决方案
查看>>
Oracle获取当前时间
查看>>
Tomcat,Jboss,Weblogic区别与比较
查看>>
CentOS7.4下使用Nginx配置Asp.net Core和添加Https证书步骤
查看>>
常用模块介绍
查看>>
一台云服务器怎么同时响应多个域名?
查看>>
【黑客免杀攻防】读书笔记1 - 初级免杀基础理论(反病毒软件特征码提取介绍、免杀原理、壳)...
查看>>
Java 枚举类
查看>>