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. BeautifulSoup_第二节
  2. tableau可视化数据分析60讲(十二)-过滤器详解
  3. VTK:vtkSelectPolyData选择多数据用法实战
  4. python适配器模式角色_python设计模式-适配器模式
  5. LeetCode 287. Find the Duplicate Number (时间复杂度O(n)) + 链表判断环
  6. zabbixproxy安装
  7. 从 40% 跌至 4%,“糊”了的 Firefox 还能重回巅峰吗?
  8. IE8 新增的Javascript,css功能
  9. 可以参考《SpringMVC接口测试异常:Can not deserialize instance
  10. ABP理论学习之NHibernate集成
  11. 英语语法基础01(句子结构)
  12. Python3实现Two-Pass算法检测区域连通性
  13. 阿里面试官Redis把我问到哑口无言…
  14. 超硬核万字!web前端学霸笔记,学完就去找工作吧
  15. 恶意url_预测URL的恶意
  16. VI 与 VIM 编辑器实操演示(动图)
  17. 7,词根 - 倒、流
  18. 【机器学习的Tricks】随机权值平均优化器swa
  19. 【2023】Eclipse 安装教程
  20. ROS2与C++入门教程-增加头文件

热门文章

  1. 云评测、云监测、云加速,性能魔方mmTrix全球速度最快
  2. 大数据架构和模式(一)——大数据分类和架构简介
  3. 通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
  4. 冒泡排序(java实现)
  5. CPU值满resmgr:cpu quantum造成的Oracle等待事件解决办法
  6. iOS 之 IQKeyboardManager 解决使用UITableView 界面上移问题
  7. Cocoapods的安装以及使用(2)
  8. 解决Swift中present(uiImagePickerController,animated: true,completion: nil)闪退的问题
  9. Solaris 上网配置
  10. 一篇文章能够看懂基础代码之CSS