1. 把api放在专属域名下,要带版本号

  2. api的url中应该只有名词,和数据库的表或文档资源相对应;对资源(collection)的具体操作类型则由http方法动词表示

(安全性:不改变资源状态,类似只读;冪等性:执行一次或多次,对资源状态的改变等价)

取出 - 安全、冪等
GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象

新建 - 不安全、不冪等
POST /collection:返回新生成的资源对象

更新 - 不安全、冪等
PUT /collection/resource:返回完整的资源对象

删除 - 不安全、冪等
DELETE /collection/resource:返回一个空文档

  1. 返回的记录数量很多时,不应一次提供给用户,api应提供参数以过滤返回结果

  2. 状态码
    200 OK - 服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)
    201 CREATED - 用户新建或修改数据成功
    202 Accepted - 表示一个请求已经进入后台排队(异步任务)
    204 NO CONTENT - 用户删除数据成功
    400 INVALID REQUEST - 用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的
    401 Unauthorized - 表示用户没有权限(令牌、用户名、密码错误)
    403 Forbidden - 表示用户得到授权(与401错误相对),但是访问是被禁止的
    404 NOT FOUND - 用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的
    406 Not Acceptable - 用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)
    410 Gone -用户请求的资源被永久删除,且不会再得到的
    422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误
    500 INTERNAL SERVER ERROR - 服务器发生错误,用户将无法判断发出的请求是否成功

  3. 尽量用json,不用xml
    因为JSON的结构更容易映射至一般语言的数据结构

转载于:https://juejin.im/post/5a1590ba51882560e356496f

符合RESTful的接口规范相关推荐

  1. RESTful API接口规范

    RESTful规范 Restful API是目前比较成熟的一套互联网应用程序的API设计理念,Rest是一组架构约束条件和原则,如何Rest约束条件和原则的架构,我们就称为Restful架构,Rest ...

  2. RESTful API接口规范及使用

    RESTful API接口规范及使用 REST 指的是一组架构约束条件和原则.满足这些约束条件和原则的应用程序或设计就是 RESTful. 非Rest设计,以往我们都会这么写:以不同的URL进行不通的 ...

  3. restful api接口规范_如何理解RESTful API设计规范?

    作者:涂根华 https://www.cnblogs.com/tugenhua0707/p/12153857.html RESTful是目前最流行的API设计规范,它是用于Web数据接口的设计.从字面 ...

  4. restful api接口规范_Restful API设计规范

    RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义.RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源 ...

  5. Java开发中RestFul服务接口规范

    REST介绍 representational State Transfer (REST) 是一种架构原则,其中将 web 服务视为资源,可以由其 URL 唯一标识.RESTful Web 服务的关键 ...

  6. Jmeter使用笔记之断言

    前言 Jmeter的断言方式有很多种,由于在工作中经常做的是API接口测试,所以这篇文章主要介绍如何对接口的字段进行解析,如何对解析出来的字段的值断言 了解API接口 Restful API 规范 协 ...

  7. Restful API思路

    1.通过服务器重写规则,将所有请求走一个入口方法,例如index.php的run()方法. 2.通过$_SERVER,找到请求方法,请求路径,请求参数,进行初始化参数 3.根据请求路径,走不同mode ...

  8. RESTful Web Services初探

    RESTful Web Services初探 作者:杜刚 近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTf ...

  9. Python Tornado搭建高并发Restful API接口服务

    Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发.得利于其 非阻塞的方式和对epoll的运用,Torn ...

最新文章

  1. Amazon运营如何做?Amazon运营需做好全局的加减法
  2. 如何把睡袋转给别人_微信收到的语音如何转给别人?试试这2个方法,没准能帮到你...
  3. Python开发基础 day5 函数的定义与使用
  4. insmod module_param 模块参数
  5. 浅拷贝(副本)与深拷贝
  6. 条件独立的理解及举例
  7. 软件分层的利与不利之处.txt
  8. python爬虫下载付费音乐包有什么用_听歌音乐还要我付费?看我用Python批量下载!...
  9. 在Linux上下载arduino
  10. CrossApp推出移动应用开发神器CrossApp Style
  11. LANP源码安装注释版
  12. html怎么设置文字居中对齐
  13. 工作一年时期的土豆总结——复杂度和困难度
  14. 《炬丰科技-半导体工艺》用于高效显示和通信的无磷白光 LED
  15. adb 连接方式汇总
  16. 【DSP】离散系统的因果性判断
  17. 数据库的增删改查加遍历
  18. 离均差oracle 函数,Oracle入门到精通
  19. 识别win10和linux的MBR,Win10下安装ElementaryOS双系统:UEFI和Legacy引导
  20. P2P第三方资金托管平台

热门文章

  1. Unity 4.x游戏开发技巧集锦(内部资料)
  2. ubuntu修改IP
  3. ORACLE SQL: 经典查询练手第二篇
  4. 深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)
  5. dll的概念、dll导出类(转)
  6. Swift中页面跳转与传值:
  7. eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析...
  8. 调用 微信接口报错 {errcode:48001,errmsg:api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]}...
  9. QuickBI助你成为分析师——数据源FAQ小结
  10. Foxmail6密码获取案例