java中常用注解的简单总结

2018/04/04 12:54
阅读数 147

@responseBody注解的使用 

1、

  @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML

  数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。

2、  

  @RequestMapping("/login")
  @ResponseBody
  public User login(User user){
    return user;
  }
  User字段:userName pwd
  那么在前台接收到的数据为:'{"userName":"xxx","pwd":"xxx"}'

  效果等同于如下代码:
  @RequestMapping("/login")
  public void login(User user, HttpServletResponse response){
    response.getWriter.write(JSONObject.fromObject(user).toString());
  }

3

  1. @RequestMapping("/home")  
  2. public class IndexController {  
  3.   
  4.     @RequestMapping(value = {  
  5.         "",  
  6.         "/page",  
  7.         "page*",  
  8.         "view/*,**/msg"  
  9.     })  
  10.     String indexMultipleMapping() {  
  11.         return "Hello from index multiple mapping.";  
  12.     }  
  13. }  
  14. 如你在这段代码中所看到的,@RequestMapping 支持统配符以及ANT风格的路径。前面这段代码中,如下的这些 URL 都会由 indexMultipleMapping() 来处理: 
  15. localhost:8080/home
  16. localhost:8080/home/
  17. localhost:8080/home/page
  18. localhost:8080/home/pageabc
  19. localhost:8080/home/view/
  20. localhost:8080/home/view/view
  21. 带有 @RequestParam 的 @RequestMapping 

    @RequestParam 注解配合 @RequestMapping 一起使用,可以将请求的参数同处理方法的参数绑定在一起。 

    @RequestParam 注解使用的时候可以有一个值,也可以没有值。这个值指定了需要被映射到处理方法参数的请求参数, 代码如下所示: 
  22. @RestController  
  23. @RequestMapping("/home")  
  24. public class IndexController {  
  25.   
  26.     @RequestMapping(value = "/id")  
  27.     String getIdByValue(@RequestParam("id") String personId) {  
  28.         System.out.println("ID is " + personId);  
  29.         return "Get ID from query string of URL with value element";  
  30.     }  
  31.     @RequestMapping(value = "/personId")  
  32.     String getId(@RequestParam String personId) {  
  33.         System.out.println("ID is " + personId);  
  34.         return "Get ID from query string of URL without value element";  
  35.     }  
  36. }  

  37. 在代码的第26行,id 这个请求参数被映射到了 thegetIdByValue() 这个处理方法的参数 personId 上。 

    如果请求参数和处理方法参数的名称一样的话,@RequestParam 注解的 value 这个参数就可省掉了, 如代码的第31行所示。 
展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部