java restful开发规范_restful api 开发规范
1.协议 http && https
2.域名 https://api.example.com && https://example.org/api/
3.版本 https://api.example.com/v1/
4.路径 每个网址代表一种资源(resource) 只能有名词,而且所用的名词往往与数据库的表格名对应 一般来说,
数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。
https://api.example.com/v1/employees
5.HTTP动词
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
HEAD:获取资源的元数据。
OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。
GET /zoos:列出所有动物园
POST /zoos:新建一个动物园
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE /zoos/ID:删除某个动物园
GET /zoos/ID/animals:列出某个指定动物园的所有动物
DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
6. 参数
?page=1&size=1
status = 2
keyword = 'a'
7. 状态码 Status Codes
200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。
201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。
202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)
204 NO CONTENT - [DELETE]:用户删除数据成功。
400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。
403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。
404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。
406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。
410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。
422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
8. 错误处理
如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。
{
error: "Invalid API key"
}
9.返回结果
针对不同操作,服务器向用户返回的结果应该符合以下规范。
GET /collection:返回资源对象的列表(数组)
GET /collection/resource:返回单个资源对象
POST /collection:返回新生成的资源对象
PUT /collection/resource:返回完整的资源对象
PATCH /collection/resource:返回完整的资源对象
DELETE /collection/resource:返回一个空文档
java restful开发规范_restful api 开发规范相关推荐
- resulful规范_Restful API设计规范及实战【说的比较清楚了】
Restful API的概念在此就不费口舌了,博友们网上查哈定义文章很多,直入正题吧: 首先抛出一个问题: 判断id为 用户下,名称为 使命召唤14(COD14) 的产品是否存在(话说我还是很喜欢玩类 ...
- restful接口开发实例_Restful接口开发与测试—接口测试
开发完接口,接下来我们需要对我们开发的接口进行测试.接口测试的方法比较多,使用接口工具或者Python来测试都可以,工具方面比如之前我们学习过的Postman或者Jmeter ,Python脚本测试可 ...
- restful url 设计规范_RESTful API接口设计规范
网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备-).因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致API构架的流行 ...
- java restful中文乱码_restful服务接口访问乱码 和 505错误
标签: 用cxf 发部个rest服务,用浏览器访问和 HttpURLConnection 访问. 1. URL中有中文,浏览器访问正常,HttpURLConnection 失败. 解决: HttpUR ...
- API开发平台应用场景和产品研发
对于前后端分离的应用来说,后端应用主要是以API的形式对外提供能力,而在微服务架构盛行的当下,很多企业对于后端传统的应用程序已经做了打散和拆分,实现了微服务改造.如果一个企业的IT建设比较全的话,那么 ...
- php新浪微博转发 发布微博apisdk,新浪微博API开发简介之PHP根底篇-用户授权
新浪微博API开发简介之PHP根底篇-用户授权 如今玩微博的人越来越多了,而关于微博的第三方运用开发也越来越多,本人在偶然间末尾接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了 ...
- 新浪微博开发平台基于php的sdk包(包含demo程序),新浪微博API开发简介之用户授权(PHP基础篇)...
现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open ...
- java代码开发规范_java代码开发规范
一 编码规范 1.1 命名规范 代码中的命名均不能以特殊字符(如下划线.$#符号)开始或结束. 反例: _name / #Object 2. 代码中的命名严禁使用拼音与英文混合的方式,更不 ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 统一规范API,包装返回模型
基于 abp vNext 和 .NET Core 开发博客项目 - 统一规范API,包装返回模型 转载于:https://github.com/Meowv/Blog 在实际开发过程中,每个公司可能不尽 ...
最新文章
- C# Winform程序中使用TeeChart实现简单的图表展示
- Oracle 执行计划 提示 'PLAN_TABLE' is old version 解决方法
- JasperReport学习笔记2-创建简单的报表例子
- python3安装cx oracle,[求助]python3安装cx_Oracle 报错
- 博客园里输入latex公式
- 一文带你彻底了解大数据处理引擎Flink内存管理
- 3D引擎多线程:渲染与逻辑分离
- 一个请求在Struts2框架中的处理的步骤
- 【我的失败人生】1105感到自己的弱小
- displaytag 的使用
- 屏幕录像专家录制超清视频教程如何解决转码后不清晰问题
- 影响力最大化 IC模型+贪心算法
- MAE(掩码自编码器)是可扩展的计算机视觉自监督学习方法
- 《 Programming Collective Intelligence》案例介绍与分析——Making Recommendations
- DSN1COPY错误-SP映射页面错误
- Jenkins高级篇之Pipeline语法篇-7-Declarative Pipeline指令:triggers/stage/tool
- 无聊猿将与 Coinbase 共同制作电影三部曲进军好莱坞
- 基于单片机的智能交通灯系统的设计
- 办公大楼综合布线系统设计方案
- Docker之WARNING: IPv4 forwarding is disabled. Networking will not work(虚拟机配置网络异常:IPv4)解决方案