如何设计处优秀的Restful API 关于restful开发的疑惑 关于restful开发的疑惑

  只知道遵规循矩的程序员是假程序员,任何技术都是不断发明创造改进的。

  如何设计处优秀的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;
}

 

    

       

关于restful开发的疑惑

猜你喜欢

转载自www.cnblogs.com/abab/p/9559184.html