java几个注解的作用及比较(@RestController、@Controller、@ResponseBody、@RequestBody等)

1.@Controller

标识一个Spring类是Spring MVC controller处理器,是一种特殊化的@Component 类,习惯于和@RequestMapping绑定来使用,后者是用来指定路由映射的。

加在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面

若返回json等内容到页面,则需要加@ResponseBody注解

2.@RestController

简单来说@RestController=@Controller+@ResponseBody,不能返回jsp,html页面,视图解析器无法解析jsp,html页面

3.@ResponseBody

是用来把一个自定义的对象自动序列化成一个json字符串,并且传回HttpResponse这个对象

4.@RequestBody

把一个json字符串转换成一个定义好映射关系的对象,反序列化成一个Java对象

5.@RequestMapping

配置url映射

6.@GetMapping

@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写

其他的@PostMapping、@PutMapping、@DeleteMapping也类似,只不过method不一样

7.@PathVariable:获取URL中的数据

例如:

 public String XXX(@PathVariable("id") Integer id){

                       return "id:"+id;

             } 

8.@RequestParam:获取请求参数的值

例如:

    @DeleteMapping("/task/v1/task")
    public R delete(@RequestParam(value="ids[]") String[] ids){

    }

9.@PathVariable:用来获得请求url中的动态参数的

例如:

    @GetMapping("/v1/imsEmEquipInfo/{id}")

    public R info(@PathVariable("id") String id) {

    }

猜你喜欢

转载自blog.csdn.net/m0_37914467/article/details/90034317