zoukankan      html  css  js  c++  java
  • SpringMvc常用的注解使用

    1 @Controller注解

      @Controller注解表明了一个类是作为控制器的角色存在的,

    @Controller 
    public class UserController { 
        // ...
     }

    2.@RequestMapping注解

      @RequestMapping注解是将请求URL,如“/user”等,映射到整个类上或某个特定的方法上面,一般情况下,类级别的注解负责将一个特定(或符合某种模式)的请求路径映射到一个控制器上,同时通过方法级别的注解来细化映射,即根据特定的HTTP请求方法(GET、POST方法等)、HTTP请求中是否携带特定参数等条件,将请求映射到匹配的方法上。

    @Controller 
    public class UserController { 
        @RequestMapping("/user") 
        public String user() { 
            return "user"; 
        } 
    } 
    没有指定请求必须是GET方法还是PUT/POST或其他方法,@RequestMapping注解默认会映射所有的HTTP请求方法。如果仅想接收某种请求方法,请在注解中指定之@RequestMapping(path = "/user", method= RequestMethod.GET)以缩小范围。

    3 @PathVariable注解

      @PathVariable注解用在方法参数上,将其与URI模板中的参数绑定起来,

    @RequestMapping(path="/user/{userId}", method=RequestMethod.GET) 
    public String userCenter(@PathVariable("userId") String userId, Model model) { 
        UserDTO user = userService.get(userId); 
        model.addAttribute("user", user);
        return "userCenter"; 
    }
    URI模板"/user/{userId}"指定了一个变量名为userId。当控制器处理这个请求的时候,userId的值就会被URI模板中对应部分的值所填充。比如说,如果请求的URI是/userId/1,此时变量userId的值就是1。

    4. @GetMapping注解

      @GetMapping注解是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP GET映射到特定的处理方法上。可以使用@GetMapping("/user")来代替。

      @RequestMapping(path="/user",method= RequestMethod.GET)。还有@PostMapping、@PutMapping、@DeleteMapping等同理。
     
    5.@RequestBody注解
      @RequestBody注解用于读取Reqeust请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上,再把HttpMessageConverter返回的对象数据绑定到Controller中方法的参数上。
    @Controller 
    public class UserController {
         @GetMapping("/user") 
        public String user(@RequestBody User user) {
             //... 
         return "user";
    } }

    6 @ResponseBody注解

      @ResponseBody注解用于将Controller的方法返回对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。比如获取JSON数据,加上@ResponseBody后,会直接返回JSON数据,而不会被解析为视图。

    @Controller 
    public class UserController { 
        @ResponseBody 
       @GetMapping(
    "/user/{userId}") public User info(@PathVariable("userId") String userId) { UserDTO user = userService.get(userId); return user; } }

    7@RestController注解

      @RestController注解是一个组合注解,即@Controller+ @ResponseBody的组合注解,请求完成后,会返回JSON数据。


     
     
  • 相关阅读:
    SendMessage操作另一个EXE,存在这,以后也许用得着。
    六、Delphi 2009 泛型容器单元(Generics.Collections)[5]: TObject...<T> 系列
    闲扯原码、反码、补码
    限制edit只能输入数字
    动态创建TXMLDocument对XML文件进行读取和写入
    XML操作
    Ubuntu下配置lazarus开发环境
    C#结构体(二)
    【转】 如何有效減少Nios II EDS所編譯程式碼大小? (IC Design) (Nios II)
    关于NiosII和Win7系统兼容性的问题处理方式
  • 原文地址:https://www.cnblogs.com/zxh06820/p/13429883.html
Copyright © 2011-2022 走看看