postmapping注解_你⼀定要知道的SpringBoot常⽤注解!⽹
友:这总结太详细了
▲正⽂开始
⼀、Spring Web MVC 注解
@RequestMapping
@RequestMapping注解的主要⽤途是将Web请求与请求处理类中的⽅法进⾏映射。Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和RequestMappingHndlerAdapter两个类来提供对@RequestMapping注解的⽀持。
@RequestMapping注解对请求处理类中的请求处理⽅法进⾏标注;@RequestMapping注解拥有以下的六个配置属性:
value:映射的请求URL或者其别名
method:兼容HTTP的⽅法名
params:根据HTTP参数的存在、缺省或值对请求进⾏过滤
header:根据HTTP Header的存在、缺省或值对请求进⾏过滤
spring ioc注解consume:设定在HTTP请求正⽂中允许使⽤的媒体类型
product:在HTTP响应体中允许使⽤的媒体类型
提⽰:在使⽤@RequestMapping之前,请求处理类还需要使⽤@Controller或@RestController进⾏标记。
下⾯是使⽤@RequestMapping的两个⽰例:
@RequestMapping还可以对类进⾏标记,这样类中的处理⽅法在映射请求路径时,会⾃动将类上@RequestMapping设置的value拼接到⽅法中映射路径之前,如下:
@RequestBody
@RequestBody在处理请求⽅法的参数列表中使⽤,它可以将请求主体中的参数绑定到⼀个对象中,请求主体参数是通过HttpMessageConverter传递的,根据请求主体中的参数名与对象的属性名进⾏匹配并绑定值。此外,还可以通过@Valid注解对请求主体中的参数进⾏校验。下⾯是⼀个使⽤@RequestBody的⽰例:
@GetMapping
@GetMapping注解⽤于处理HTTP GET请求,并将请求映射到具体的处理⽅法中。具体来说,@GetMapping是⼀个组合注解,它相当于是@RequestMapping(method=RequestMethod.GET)的快捷⽅式。下⾯是@GetMapping的⼀个使⽤⽰例:
@PostMapping
@PostMapping注解⽤于处理HTTP POST请求,并将请求映射到具体的处理⽅法中。@PostMapping与@GetMapping⼀样,也是⼀个组合注解,它相当于是@RequestMapping(method=HttpMethod.POST)的快捷⽅式。下⾯是使⽤@PostMapping的⼀个⽰例:
@PutMapping
@PutMapping注解⽤于处理HTTP PUT请求,并将请求映射到具体的处理⽅法中,@PutMapping是⼀个组合注解,相当于是
@RequestMapping(method=HttpMethod.PUT)的快捷⽅式。下⾯是使⽤@PutMapping的⼀个⽰例:
@DeleteMapping
@DeleteMapping注解⽤于处理HTTP DELETE请求,并将请求映射到删除⽅法中。@DeleteMapping是⼀个组合注解,它相当于是
@RequestMapping(method=HttpMethod.DELETE)的快捷⽅式。下⾯是使⽤@DeleteMapping的⼀个⽰例:
@PatchMapping
@PatchMapping注解⽤于处理HTTP PATCH请求,并将请求映射到对应的处理⽅法中。@PatchMapping相当于是
@RequestMapping(method=HttpMethod.PATCH)的快捷⽅式。下⾯是⼀个简单的⽰例:
@ControllerAdvice
@ControllerAdvice是@Component注解的⼀个延伸注解,Spring会⾃动扫描并检测被@ControllerAdvice所标注的类。
@ControllerAdvice需要和@ExceptionHandler、@InitBinder以及@ModelAttribute注解搭配使⽤,主要是⽤来处理控制器所抛出的异常信息。⾸先,我们需要定义⼀个被@ControllerAdvice所标注的类,在该类中,定义⼀个⽤于处理具体异常的⽅法,并使⽤
@ExceptionHandler注解进⾏标记。此外,在有必要的时候,可以使⽤@InitBinder在类中进⾏全局的配置,还可以使⽤
@ModelAttribute配置与视图相关的参数。使⽤@ControllerAdvice注解,就可以快速的创建统⼀的,⾃定义的异常处理类。下⾯是⼀个使⽤@ControllerAdvice的⽰例代码:
@ResponseBody
@ResponseBody会⾃动将控制器中⽅法的返回值写⼊到HTTP响应中。特别的,@ResponseBody注解只能⽤在被@Controller注解标记的类中。如果在被@RestController标记的类中,则⽅法不需要使⽤@ResponseBody注解进⾏标注。@RestController相当于是
@Controller和@ResponseBody的组合注解。下⾯是使⽤该注解的⼀个⽰例
@ExceptionHandler
@ExceptionHander注解⽤于标注处理特定类型异常类所抛出异常的⽅法。当控制器中的⽅法抛出异常时,Spring会⾃动捕获异常,并将捕获的异常信息传递给被@ExceptionHandler标注的⽅法。下⾯是使⽤该注解的⼀个⽰例:
@ResponseStatus
@ResponseStatus注解可以标注请求处理⽅法。使⽤此注解,可以指定响应所需要的HTTP STATUS。特别地,我们可以使⽤HttpStauts类对该注解的value属性进⾏赋值。下⾯是使⽤@ResponseStatus注解的⼀个⽰例:
@PathVariable
@PathVariable注解是将⽅法中的参数绑定到请求URI中的模板变量上。可以通过@RequestMapping注解来指定URI的模板变量,然后使⽤@PathVariable注解将⽅法中的参数绑定到模板变量上。特别地,@PathVariable注解允许我们使⽤value或name属性来给参数取⼀个别名。下⾯是使⽤此注解的⼀个⽰例:
模板变量名需要使⽤“{ }”进⾏包裹,如果⽅法的参数名与URI模板变量名⼀致,则在@PathVariable中就可以省略别名的定义。下⾯是⼀个简写的⽰例:
提⽰:如果参数是⼀个⾮必须的,可选的项,则可以在@PathVariable中设置require = false
@RequestParam
@RequestParam注解⽤于将⽅法的参数与Web请求的传递的参数进⾏绑定。使⽤@RequestParam可以轻松的访问HTTP请求参数的值。下⾯是使⽤该注解的代码⽰例:
该注解的其他属性配置与@PathVariable的配置相同,特别的,如果传递的参数为空,还可以通过defaultValue设置⼀个默认值。⽰例代码如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论