只知道遵规循矩的程序员是假程序员,任何技术都是不断发明创造改进的。
如何设计处优秀的Restful API? 盲目跟风,设计糟糕的Resful API = 浪费时间 !
不啰嗦,直接进入技术主题:
1、REST API里面的术语
Resource (资源) :就是数据,是对象,或者说物质
operation(操作):这个概念是我个人抽出来的,很多人学Restful是没有这个概念,大家只知道资源,我个人认为有资源就有对资源的操作,例如http的方法 : GET、POST、DELETE、PUT
Collections(集合):就是一组资源
URL(统一资源定位符):就是资源定位符,因为是通用,所以叫统一资源定位符。说白了可以理解为网址,就是资源的位置,比如一个图片地址、一个文件的地址、一部电影的地址
2、URL设计使用合适的词语(名词或者动词)
名词:对资源的表达、形容
动词:对资源的操作,其中基本的操作方法Http方法 (GET、POST、DELETE、PUT)已经包含,所以URL的动词 很少 ,能抽象出http的方法就尽量,不能抽象则在URL中表达(可参照关于restful开发的疑惑)
全部用小写
3、使用JSON作为通信格式
JSON的特性在此不详细说明
4、响应状态
一个状态码和一个消息就够了
状态码使用HTTP状态码,消息根据业务或者系统情况给合适的消息,不需再设计个什么 success 字段 为true 或 false,有状态码了这是多此一举。
/**
* 统一码
*
* @author 尘无尘
*
*/
public interface UnifiedCode { /**
* 成功
*/
static final int SUCCESS = 200; /**
* 参数错误,虽然请求成功,但是请求参数错误 导致 无法调用接口或者无法正常执行接口
*/
static final int PARAM_ERROR = 400; /**
* 系统错误,虽然请求成功,但是由于系统内部问题导致无法正常处理请求
*/
static final int SYS_ERROR = 500;
}