• 什么是REST 、RESTful 、RESTful API?


    介绍

           自从Roy Fielding博士在2000年他的博士论文中提出Rest(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。

    什么是Web API呢?

           如果我们想要获取某个电商网站的某个商品,输入http://localhost:8080/demo/products/123,就可以看到id为123的商品页面,但这个结果是HTML页面,它同时混合包含了Product的数据和Product的展示两个部分。对于用户来说,阅读起来没有问题,但是,如果机器读取,就很难从HTML中解析出Product的数据。

    如果一个URL返回的不是HTML,而是机器能直接解析的数据,这个URL就可以看成是一个Web API。比如,读取http://localhost:8080/api/products/123,如果能直接返回Product的数据,那么机器就可以直接读取。

           编写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 /zoos 列出所有动物园
    POST /zoos 新建一个动物园
    GET /zoos/ID 获取某个指定动物园的信息
    PUT /zoos/ID 更新某个指定动物园的信息(提供该动物园的全部信息)
    DELETE /zoos/ID 删除某个动物园
    GET /zoos/ID/animals 列出某个指定动物园的所有动物
    DELETE /zoos/ID/animals/ID 删除某个指定动物园的指定动物
  • 相关阅读:
    NopCommerce 增加 Customer Settings
    NopCommerce 增加 Customer Attributes
    [转]How to add new table in NopCommerce
    [转]教你一招
    [转]Oracle 修改或者删除临时表 ORA-14452: 试图创建, 更改或删除正在使用的临时表中的索引
    NopCommerce 发布时 Could not load file or assembly 'file:///...Autofac.3.5.2lib et40Autofac.dll' or one of its dependencies
    NopCommerce 关于Customer的会员类别及会员价处理 的尝试途径
    诸葛亮-诫子书
    [书目20161206]小狗钱钱的人生整理术
    [转]NopCommerce How to code my own payment method
  • 原文地址:https://www.cnblogs.com/yuqingya/p/12066174.html
Copyright © 2020-2023  润新知