zoukankan      html  css  js  c++  java
  • RESTful

            rest的5种约束:
    • 使用客户/服务器模型:客户和服务器间通过一个统一的接口来互相通讯;
    • 层次化的系统:在一个rest系统中客户端并不会固定的与一个服务端打交道;
    • 无状态:在rest系统中,服务端不会保存客户的任何状态,客户端负责用户状态的维持,并在每次发送请求时,提供足够的信息;
    • 可缓存:可以恰当的缓存请求;
    • 统一的接口:

    以前非REST时,我们的URI

             查询用户:http://localhost/user/query?id=1             - GET

             添加用户: http://localhost/user/insert                       - POST

             修改用户: http://localhost/user/update                    - POST

             删除用户: http://localhost/user/delete?id=1            - GET

    REST

            查询用户:http://localhost/user/{id}         - GET

             添加用户: http://localhost/user                 - POST

             修改用户: http://localhost/user               - PUT

             删除用户: http://localhost/user                 - DELETE

    响应状态码:


    java本身不支持put,delete请求,当发起这些请求时,可以接受,但请求参数接收不到,解决put请求参数为null:springMvc提供一个过滤器:

       <!-- 解决PUT请求的参数为null问题 -->

       <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>

    解决delete请求参数为null:

       <!-- 通过POST请求传递参数,再 _method指定要转化的请求方式(DELETEPUT),最后转为DELETEPUT请求 -->

       <filter>

          <filter-name>HiddenHttpMethodFilter</filter-name>

          <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>

       </filter>

       <filter-mapping>

          <filter-name>HiddenHttpMethodFilter</filter-name>

          <url-pattern>/*</url-pattern>

       </filter-mapping>






    出身决定命运,但努力一定不会错。
  • 相关阅读:
    几句让自己保留的动力的格言
    repo 的几个使用理解
    (转)汇编中断大全
    (转) 汇编.section和.text解释
    find 命令一些小技巧;
    android 系统使用c语言获取系统属性
    新的起点
    PDBC详细介绍
    PDBC(连接数据库)
    Python——基础知识
  • 原文地址:https://www.cnblogs.com/xiaolige/p/8455398.html
Copyright © 2011-2022 走看看