博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RESTful
阅读量:6413 次
发布时间:2019-06-23

本文共 1071 字,大约阅读时间需要 3 分钟。

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

以前非REST时,我们的URI

查询用户:             - GET

         添加用户:                        - POST

         修改用户:                    - POST

         删除用户:             - GET

REST

        查询用户:/{id}         - GET

         添加用户:                  - POST

         修改用户:                - PUT

         删除用户:                  - 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>

转载于:https://www.cnblogs.com/xiaolige/p/8455398.html

你可能感兴趣的文章
linux centos7.2 安装mysq,nginx,php
查看>>
intellij IDEA配置tomcat
查看>>
myrocks之事务处理
查看>>
mysql分区
查看>>
基于pgrouting的路径规划之一
查看>>
Java设计模式(一)----单例模式
查看>>
LBS核心技术解析
查看>>
Unity5 新功能解析--GI(全局光)
查看>>
Servlet url-pattern /与/*区别
查看>>
Fible Channel over Convergence Enhanced Ethernet talk about
查看>>
讨论:今日头条适配方案使用中出现的问题
查看>>
自编码器-mnist-fullyconnected
查看>>
CSS3 3D翻转动画
查看>>
JS无形装逼,最为致命
查看>>
sequelize如何使用原生语句
查看>>
分享几个CSS和JS相关的网站or文章
查看>>
每个人都应该了解的金融小知识 -- 利率计算 (含一道码农面试题)
查看>>
解决html中input的placeholder的颜色,点击时消失,input点击时样式的问题
查看>>
android 关于先登录成功后再进入目标界面的思考
查看>>
基于Redis的分布式锁实现
查看>>