zoukankan      html  css  js  c++  java
  • SpringMvc笔记-对RESTFUL风格的配置

    1.@RequestMapping注解可以使用如下参数:

        1,params:例如params={'username',"age!=100"}表示需要usernmame并且age 属性不能等于100

        2. headers:为请求头 确定他的请求头是啥的时候才能访问headers={"Accept-lanuage=us,ZN"}

    2.@PathVariable("id")实现REST风格的一步,可以将目标方法的参数中

    1     @GetMapping("/test/{id}")
    2     public String test(@PathVariable("id") String id){
    3         return null;
    4     }

    3.REST风格中的POST,GET,DELETE,PUT请求

    GET和POST请求自带有这个功能

    主要是DELETE和PUT请求

    SpringMVC中在3.0后已经支持了Restful风格了。

    具体一下几步:

    1.配置web.xml中的拦截器

    1     <!--用于对RESTful风格的拦截器 -->
    2     <filter>
    3         <filter-name>HiddenHttpMethodFilter</filter-name>
    4         <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    5     </filter>
    6     <filter-mapping>
    7         <filter-name>HiddenHttpMethodFilter</filter-name>
    8         <url-pattern>/*</url-pattern>
    9     </filter-mapping>

    2.编写对应的请求方式

     1 package cn.lonecloud.controller;
     2 
     3 import org.springframework.stereotype.Controller;
     4 import org.springframework.web.bind.annotation.PathVariable;
     5 import org.springframework.web.bind.annotation.RequestMapping;
     6 import org.springframework.web.bind.annotation.RequestMethod;
     7 /**
     8  * 对RestFul的支持
     9  * @Title: RestController.java
    10  * @Package cn.lonecloud.controller
    11  * @Description: 
    12  * @author lonecloud
    13  * @date 2017年4月9日 上午10:47:47
    14  */
    15 @RequestMapping("/rest")
    16 @Controller
    17 public class RestController{
    18 
    19     @RequestMapping(value="/testRest/{id}",method=RequestMethod.DELETE)
    20     public String RestDelete(@PathVariable("id")String id){
    21         System.out.println("delete"+id);
    22         return "list";
    23     }
    24     @RequestMapping(value="/testRest/{id}",method=RequestMethod.GET)
    25     public String RestGET(@PathVariable("id")String id){
    26         System.out.println("get"+id);
    27         return "list";
    28     }
    29     @RequestMapping(value="/testRest/{id}",method=RequestMethod.PUT)
    30     public String RestPUT(@PathVariable("id")String id){
    31         System.out.println("put"+id);
    32         return "list";
    33     }
    34     @RequestMapping(value="/testRest/{id}",method=RequestMethod.POST)
    35     public String RestPOST(@PathVariable("id")String id){
    36         System.out.println("post"+id);
    37         return "list";
    38     }
    39     @RequestMapping(value="/testRest/",method=RequestMethod.GET)
    40     public String RestPOST(){
    41         return "list";
    42     }
    43 }

     3.对链接进行POST请求在POST请求中携带隐藏域参数name="_method" value="DELETE/PUT"请求的input框即可

    完整代码:

      

  • 相关阅读:
    洛谷P4172 [WC2006]水管局长(lct求动态最小生成树)
    洛谷P1501 [国家集训队]Tree II(打标记lct)
    洛谷P2173 [ZJOI2012]网络(10棵lct与瞎jb暴力)
    [Asp.net 5] Localization-resx资源文件的管理
    [Asp.net 5] Localization-简单易用的本地化-全球化信息
    [Asp.net 5] Configuration-新一代的配置文件
    [Asp.net 5] Configuration-新一代的配置文件(ConfigurationSource的多种实现)
    [Asp.net 5] Configuration-新一代的配置文件(神奇的Binder)
    [Asp.net 5] Configuration-新一代的配置文件(接口定义与基础实现)
    [Asp.net 5] DependencyInjection项目代码分析-目录
  • 原文地址:https://www.cnblogs.com/lonecloud/p/6683484.html
Copyright © 2011-2022 走看看