2023年8月1日发(作者:)
什么是REST、RESTful、RESTfulAPI?介绍 ⾃从Roy Fielding博⼠在2000年他的博⼠论⽂中提出Rest(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂⽽笨重的SOAP,成为Web API的标准了。什么是Web API呢? 编写API有什么好处呢?由于API就是把Web App的功能全部封装了,所以,通过API操作数据,可以极⼤地把前端和后端的代码隔离,使得后端代码易于测试,前端代码编写更简单。 此外,如果我们把前端页⾯看作是⼀种⽤于展⽰的客户端,那么API就是为客户端提供数据、操作数据的接⼝。这种设计可以获得极⾼的扩展性。例如,当⽤户需要在⼿机上购买商品时,只需要开发针对iOS和Android的两个客户端,通过客户端访问API,就可以完成通过浏览器页⾯提供的功能,⽽后端代码基本⽆需改动。什么是REST? REST(Representational State Transfer):表现层转移(转移:通过HTTP动词实现),是⼀种软件架构风格。总结:URL定位资源,HTTP动词操作(GET,POST,PUT,DELETE)描述操作。REST就是⼀种设计API的模式。最常⽤的数据格式是JSON。由于JSON能直接被JavaScript读取,所以,以JSON格式编写的REST风格的API具有简单、易读、易⽤的特点。什么是RESTful? 基于Rest构建的API就是Restful风格。为什么使⽤RESTful? JSP内嵌java代码影响了我们的开发效率。因为我们需要将html转换成html页⾯,并写⼀些脚本,这影响了开发效率,也不能让开发⼈员专注于业务功能的开发,所以越来越多的公司选择前后端分离。设计RESTful风格的API: 1、在RESTful风格的架构中,每个⽹址代表⼀种资源,所以⽹址中不能有动词,只能有名词。⽽且所⽤的名词往往与数据库的表名对应。 2、HTTP动词设计:GET(获取资源) POST(新建资源) PUT(更新资源,客户端提供改变后的完整资源) DELETE(删除资源) 请求⽅式GET /zoosPOST /zoosGET /zoos/IDPUT /zoos/IDDELETE /zoos/IDGET /zoos/ID/animalsDELETE /zoos/ID/animals/ID含义列出所有动物园新建⼀个动物园获取某个指定动物园的信息更新某个指定动物园的信息(提供该动物园的全部信息)删除某个动物园列出某个指定动物园的所有动物删除某个指定动物园的指定动物
2023年8月1日发(作者:)
什么是REST、RESTful、RESTfulAPI?介绍 ⾃从Roy Fielding博⼠在2000年他的博⼠论⽂中提出Rest(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂⽽笨重的SOAP,成为Web API的标准了。什么是Web API呢? 编写API有什么好处呢?由于API就是把Web App的功能全部封装了,所以,通过API操作数据,可以极⼤地把前端和后端的代码隔离,使得后端代码易于测试,前端代码编写更简单。 此外,如果我们把前端页⾯看作是⼀种⽤于展⽰的客户端,那么API就是为客户端提供数据、操作数据的接⼝。这种设计可以获得极⾼的扩展性。例如,当⽤户需要在⼿机上购买商品时,只需要开发针对iOS和Android的两个客户端,通过客户端访问API,就可以完成通过浏览器页⾯提供的功能,⽽后端代码基本⽆需改动。什么是REST? REST(Representational State Transfer):表现层转移(转移:通过HTTP动词实现),是⼀种软件架构风格。总结:URL定位资源,HTTP动词操作(GET,POST,PUT,DELETE)描述操作。REST就是⼀种设计API的模式。最常⽤的数据格式是JSON。由于JSON能直接被JavaScript读取,所以,以JSON格式编写的REST风格的API具有简单、易读、易⽤的特点。什么是RESTful? 基于Rest构建的API就是Restful风格。为什么使⽤RESTful? JSP内嵌java代码影响了我们的开发效率。因为我们需要将html转换成html页⾯,并写⼀些脚本,这影响了开发效率,也不能让开发⼈员专注于业务功能的开发,所以越来越多的公司选择前后端分离。设计RESTful风格的API: 1、在RESTful风格的架构中,每个⽹址代表⼀种资源,所以⽹址中不能有动词,只能有名词。⽽且所⽤的名词往往与数据库的表名对应。 2、HTTP动词设计:GET(获取资源) POST(新建资源) PUT(更新资源,客户端提供改变后的完整资源) DELETE(删除资源) 请求⽅式GET /zoosPOST /zoosGET /zoos/IDPUT /zoos/IDDELETE /zoos/IDGET /zoos/ID/animalsDELETE /zoos/ID/animals/ID含义列出所有动物园新建⼀个动物园获取某个指定动物园的信息更新某个指定动物园的信息(提供该动物园的全部信息)删除某个动物园列出某个指定动物园的所有动物删除某个指定动物园的指定动物
发布评论