REST API

REST(Representational State Transfer,表述化状态转移)
 
RESTful:满足REST约束条件和原则的设计规范或者架构风格 ;
REST API:遵循RESTful设计的API。
 
REST API的设计:
  HTTP动词 + URI    HTTP动词描述操作;URI是标识资源。
  eg:  DELETE   /students/10  HTTP动作  URL
HTTP动词HTTP动词 描述
HEAD  :获取某个资源的头部信息
GET  :获取资源
POST   :  创建资源
PATCH :更新资源的部分属性
PUT :   更新资源
DELETE :  删除资源

 

 

https://www.leancloud.cn/docs/rest_api.html#hash20005220 rest api 使用详解

https://www.jianshu.com/p/43dae0b83755     rest服务与restful api风格

 
 
 https://www.liaoxuefeng.com/wiki/1022910821149312/1105000713418592   廖雪峰的官方网站 (rest api python Java git sql javascript)
 
 rest api 编写规范:
  1. REST请求仍然是标准的HTTP请求,但是,除了GET请求外,POST、PUT等请求的body是JSON数据格式,请求的Content-Typeapplication/json
  2. REST响应返回的结果是JSON数据格式,因此,响应的Content-Type也是application/json
 
本文部分文字摘自于:
 https://www.jianshu.com/p/43dae0b83755  很重要的关于rest api的文章  

举一个实际的例子:

比如用户愚公币交易记录列表,

      PC网站里需要这个功能,

      Android App里面也需要这个功能,

      IOS App里面也需要这个功能。

按照我们现有的开发模式,我们就要写了2套(PC和APP端)获取用户说说列表的功能。也就是需要在2个地方都写连接数据库配置信息,查询数据库,可想而知是非常浪费时间和经历的,而且安全性能很差(如果将数据库连接的配置写在Android里面),RestfulAPI就能较好的解决这个问题: (以下接口不存在,仅仅是举例)

愚公币交易查询 PC: http://******.yugyg.com/user/get YgfMoneyDeal?from=PC

愚公币交易查询安卓: http://******.yugyg.com/user/getYgfMoneyDeal?from=android

愚公币交易查询 IOS: http://******.yugyg.com/user/getYgfMoneyDeal?from=ios

带来好处是只要写一次接口就可以供3个地方同时使用,这样不仅更加安全,快捷,最主要是分工更快速了。一个人专门写接口,另外一个人只需要知道如何调用就可以了,完全不需要知道是如何实现的。

5. 如何设计Restful风格的API

RestfulAPI就是由后台(SERVER端)来提供接口,前端来调用。前端调用API向后台发起HTTP请求,后台响应请求将处理结果反馈给前端。也就是说Restful 是典型的基于HTTP的协议。那么RESTful API有哪些特征呢?

 
 
 


https://my.oschina.net/wangmengjun/blog/907679    restful api 的java项目
 https://swagger.io/tools/swagger-ui/download/  swagger 官网 开源 框架 
 
 
 
 
 
原文地址:https://www.cnblogs.com/wsnan/p/11252266.html