符合RESTful的接口规范
把api放在专属域名下,要带版本号
api的url中应该只有名词,和数据库的表或文档资源相对应;对资源(collection)的具体操作类型则由http方法动词表示
(安全性:不改变资源状态,类似只读;冪等性:执行一次或多次,对资源状态的改变等价)
取出 - 安全、冪等
GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
新建 - 不安全、不冪等
POST /collection:返回新生成的资源对象
更新 - 不安全、冪等
PUT /collection/resource:返回完整的资源对象
删除 - 不安全、冪等
DELETE /collection/resource:返回一个空文档
返回的记录数量很多时,不应一次提供给用户,api应提供参数以过滤返回结果
状态码
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 - 服务器发生错误,用户将无法判断发出的请求是否成功尽量用json,不用xml
因为JSON的结构更容易映射至一般语言的数据结构
转载于:https://juejin.im/post/5a1590ba51882560e356496f
符合RESTful的接口规范相关推荐
- RESTful API接口规范
RESTful规范 Restful API是目前比较成熟的一套互联网应用程序的API设计理念,Rest是一组架构约束条件和原则,如何Rest约束条件和原则的架构,我们就称为Restful架构,Rest ...
- RESTful API接口规范及使用
RESTful API接口规范及使用 REST 指的是一组架构约束条件和原则.满足这些约束条件和原则的应用程序或设计就是 RESTful. 非Rest设计,以往我们都会这么写:以不同的URL进行不通的 ...
- restful api接口规范_如何理解RESTful API设计规范?
作者:涂根华 https://www.cnblogs.com/tugenhua0707/p/12153857.html RESTful是目前最流行的API设计规范,它是用于Web数据接口的设计.从字面 ...
- restful api接口规范_Restful API设计规范
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义.RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源 ...
- Java开发中RestFul服务接口规范
REST介绍 representational State Transfer (REST) 是一种架构原则,其中将 web 服务视为资源,可以由其 URL 唯一标识.RESTful Web 服务的关键 ...
- Jmeter使用笔记之断言
前言 Jmeter的断言方式有很多种,由于在工作中经常做的是API接口测试,所以这篇文章主要介绍如何对接口的字段进行解析,如何对解析出来的字段的值断言 了解API接口 Restful API 规范 协 ...
- Restful API思路
1.通过服务器重写规则,将所有请求走一个入口方法,例如index.php的run()方法. 2.通过$_SERVER,找到请求方法,请求路径,请求参数,进行初始化参数 3.根据请求路径,走不同mode ...
- RESTful Web Services初探
RESTful Web Services初探 作者:杜刚 近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTf ...
- Python Tornado搭建高并发Restful API接口服务
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发.得利于其 非阻塞的方式和对epoll的运用,Torn ...
最新文章
- BeautifulSoup_第二节
- tableau可视化数据分析60讲(十二)-过滤器详解
- VTK:vtkSelectPolyData选择多数据用法实战
- python适配器模式角色_python设计模式-适配器模式
- LeetCode 287. Find the Duplicate Number (时间复杂度O(n)) + 链表判断环
- zabbixproxy安装
- 从 40% 跌至 4%,“糊”了的 Firefox 还能重回巅峰吗?
- IE8 新增的Javascript,css功能
- 可以参考《SpringMVC接口测试异常:Can not deserialize instance
- ABP理论学习之NHibernate集成
- 英语语法基础01(句子结构)
- Python3实现Two-Pass算法检测区域连通性
- 阿里面试官Redis把我问到哑口无言…
- 超硬核万字!web前端学霸笔记,学完就去找工作吧
- 恶意url_预测URL的恶意
- VI 与 VIM 编辑器实操演示(动图)
- 7,词根 - 倒、流
- 【机器学习的Tricks】随机权值平均优化器swa
- 【2023】Eclipse 安装教程
- ROS2与C++入门教程-增加头文件
热门文章
- 云评测、云监测、云加速,性能魔方mmTrix全球速度最快
- 大数据架构和模式(一)——大数据分类和架构简介
- 通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
- 冒泡排序(java实现)
- CPU值满resmgr:cpu quantum造成的Oracle等待事件解决办法
- iOS 之 IQKeyboardManager 解决使用UITableView 界面上移问题
- Cocoapods的安装以及使用(2)
- 解决Swift中present(uiImagePickerController,animated: true,completion: nil)闪退的问题
- Solaris 上网配置
- 一篇文章能够看懂基础代码之CSS