RESTful API 设计详解
时间:2022-04-29
本文章向大家介绍RESTful API 设计详解,主要内容包括设计概念和准则、请求方法、常用状态码、设计要素、HTTP 动词、过滤信息、状态码、错误处理、返回结果、More Information、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
RESTful
是一种软件架构风格,其面向资源。基于 HTTP 协议实现。
设计概念和准则
- 所有事物都可以被抽象为资源。
- 每一个资源都有唯一的资源标识,对资源的操作不会改变这些标识。
- 所有操作都是无状态的。
请求方法
-
get
获取 -
post
附加新的资源 (新建) -
head
请求获取由 REQUEST-URI 所标识的资源的响应信息报头 -
put
请求服务器存储一个资源,并用 REQUEST-URI 作为其标识(更新) -
delete
请求服务器删除 REQUEST-URI 所标识的资源 -
options
请求查询服务器的性能,或者查询与资源相关的选项与需求
常用状态码
-
200
OK -
400
Bad Request 客户端请求有语法错误,不能被服务器理解 -
401
Unauthorized 服务器受到请求,但拒绝提供服务 -
404
Not Found -
500
Internal Server Error 服务器不可预期的错误 -
503
Server Unavailable 服务器当前不能处理客户端的请求
设计要素
资源路径 URI
每个网址代表一种资源,网址中不能有动词,只能是名词,名词应该是复数
HTTP 动词
get、post, etc
过滤信息
url?offset=10
状态码
错误处理
{
"error":"错误信息"
}
返回结果
More Information
- http://www.ruanyifeng.com/blog/2011/09/restful.html
- http://www.ruanyifeng.com/blog/2014/05/restful_api.html
- https://www.zhihu.com/question/28557115
- popupwindow和listview
- Debian 和Ubuntu Mono 3.0 部署包
- Apache Storm内部原理分析
- 使用lrucache和diskLrucache实现照片墙
- android 减少图片出现oom错误
- android分包方案
- 系统负载能力浅析
- 微软正式发布了Microsoft.Bcl.Async
- parcel和parcelable
- Windows Phone 7 WebBrowser 中文乱码问题
- Java并发包类总览
- 作业调度框架 Quartz.NET 2.0 beta 发布
- 系统捕获异常并发送到服务器
- 当调用GetAuthorizationGroups() 的错误-“试图访问卸载的应用程序域“(Exception from HRESULT: 0x80131014)解决方案
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解linux lcd驱动编写
- Linux下安装telnet的方法
- Linux 安装二进制MySQL 及 破解MySQL密码的方法
- Linux创建进程达到65535的方法
- SSH 上传文件及文件夹到linux服务器的方法
- apache tika检测文件是否损坏的方法
- Linux下二进制编译安装MySql centos7的教程
- Linux 6 修改ssh默认远程端口号的操作步骤
- 基于python的Linux系统指定进程性能监控思路详解
- ubuntu下的虚拟环境中安装Django的操作方法
- 详解linux下umask的使用
- Linux下设置每天自动备份数据库的方法
- Linux常用命令之chmod修改文件权限777和754
- 解决CentOS 7升级Python到3.6.6后yum出错问题总结
- Linux下如何挂载磁盘的方法示例