zoukankan      html  css  js  c++  java
  • RESTful-4使用教程

    一.REST起源
    REST(Representational State Transfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格(一种思想)。

    1.什么是轻量级:
    代码不被侵入(正例:SpringMVC中不用接口和继承,仅用注解完成。反例:Struts中每一个Action都要继承核心控制器),轻量级跟包大小无关。耦合性越低,越轻量。

    二.REST架构的主要原则
    对网络上所有的资源都有一个资源标志符。

    对资源的操作不会改变标识符。

    同一资源有多种表现形式(xml、json)

    所有操作都是无状态的(Stateless)

    符合上述REST原则的架构方式称为RESTful

    1.URI和URL区别:
    URI:http://example.com/users/

    URL:http://example.com/users/{user} (one for each user)

    2.什么是无状态性:
    使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前的请求,不需了解请求的历史。可以更容易的释放资源,让服务器利用Pool(连接池)技术来提高稳定性和性能。

    三.RESTful介绍
    RESTful是一种常见的REST应用,是遵循REST风格的web服务,REST式的web服务是一种ROA(面向资源的架构)。

    1.RESTful资源操作
    http方法 资源操作 幂等 安全
    GET SELECT 是 是
    POST INSERT 否 否
    PUT UPDATE 是 否
    DELETE DELETE 是 否
    幂等性:对同一REST接口的多次访问,得到的资源状态是相同的。

    安全性:对该REST接口访问,不会使服务器端资源的状态发生改变。

    2.接口示例:
    2.1.传统URL请求格式:
    http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据

    http://127.0.0.1/user/save POST 新增用户

    http://127.0.0.1/user/update POST 修改用户信息

    http://127.0.0.1/user/delete GET/POST 删除用户信息

    2.2.RESTful请求格式:
    http://127.0.0.1/user/1 GET 根据用户id查询用户数据

    http://127.0.0.1/user POST 新增用户

    http://127.0.0.1/user PUT 修改用户信息

    http://127.0.0.1/user DELETE 删除用户信息

    3.响应设计
    原则:数据接收到即可使用,无需拆箱。

    在一次请求中,content body仅仅用于传输数据。Header中存放描述请求或请求的元数据,例如 X-Result-Fields。


    4.http响应状态码
    根据http响应码,判断请求状态,进而做出提醒。


    四.RESTful的使用
    下面将用实际代码演示RESTful做增删改查的操作使用示例:

    1.查询get:


    查询测试:


    2.新增post:


    新增测试:
    AJAX调用:


    3.更新put:


    Service写法:


    更新测试:


    默认情况下,PUT请求是无法提交表单数据的,在Spring MVC项目中需要在web.xml中添加过滤器解决:

    <!-- 解决PUT请求无法提交表单数据的问题 -->
    <filter>
    <filter-name>HttpMethodFilter</filter-name>
    <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>HttpMethodFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    4.删除delete:


    删除测试:


    五.结语
    至此,RESTful的介绍和使用已经完成,RESTful已在各互联网公司接口定义中,成为主流的范式,RESTful减少了传统请求的拆装箱操作,结构清晰,在接口定义中受到前后端开发者的青睐。
    ---------------------
    作者:大脑补丁
    来源:CSDN
    原文:https://blog.csdn.net/x541211190/article/details/81141459
    版权声明:本文为博主原创文章,转载请附上博文链接!

    IT黑马
  • 相关阅读:
    XML常用操作
    关于C#的单斜杆和双斜杆
    XX驱动保护之KdDisableDebugger
    提供程序未返回 ProviderManifestToken 字符串 解决方案
    C# int转short
    C#_混淆/反混淆,逆向/反逆向之Dotfuscator
    mouseout和mouseover、mouseenter和mouseleave
    输入法下keypress、keyup失效的解决方案
    linux常用基本命令
    如何把已完成的项目部署到服务器
  • 原文地址:https://www.cnblogs.com/hmit/p/10785557.html
Copyright © 2011-2022 走看看