RestFul API最佳实践
2017-05-08 本文已影响0人
陈智涛
定义
1、什么是Rest?
REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。
2、什么是RestFul API?
-
Restful是一种软件设计风格,它遵循Rest约束条件和原则。
-
RestFul API 基于Rest理论,轻量级以及通过 HTTP 直接传输数据的特性,通常来说,使用JSON描述数据,可以使用各种语言(比如 Java 程序、Perl、Ruby、Python、PHP 和 Javascript[包括 Ajax])实现客户端。
-
RestFul API基于资源,每个资源都有一个地址。资源的增删改查只是对于资源状态的改变。使用HTTP动词来操作资源,包括 HTTP GET、POST、PUT、DELETE,还可能包括 HEADER 和 OPTIONS。并且使用RestFul API每个动词都有明确的意义,不能随便使用。
3、RestFul API实践
3.1操作
- POST:创建
- PUT:更新
- GET:查询
- DELETE:删除
3.2状态码,错误码,统一错误描述
一般每个操作,都会对应一个状态码,这个状态码有框架设计,如get:200 post:201
- 404 当前请求的页面没有找到(RestFul API资源没有找到)
- 400 参数错误(验证层参数校验没有通过)
- 200 一个get请求查询成功
- 201 一个post 创建资源成功
- 202 一个put更新资源成功(特别:在http应用中,202表示发送请求成功,服务器暂时没有处理)
- 401 未授权
- 403 当前资源被禁止
- 500 服务器错误
错误码:自定义的错误id号
同意错误描述:错误码、错误信息、当前URL
4、使用Token令牌来授权和身份验证
5、开发
参考:
1、豆瓣API
https://developers.douban.com/wiki/?title=api_v2
2、