spring和springmvc常用注解,springmvc的常用注解有哪些
如何解决写爬虫IP受阻的问题?立即使用。
@RequestMapping
是用于处理请求地址映射的注释。
适用于类和方法。用在类上,意味着类中响应请求的所有方法都将此地址作为父路径。
属性
值:指定请求的实际地址。该值可以是一个普通的具体值,也可以被指定为一种包含变量的值(带有路径变量的uri模板模式)。
它可以被指定为一类带有正则表达式的值(带有正则表达式的uri模板模式)。方法:指定请求、GET、POST、PUT、DELETE等的方法类型。consumes:指定处理请求的提交内容类型(Content-Type)。例如application/JSON,text/htmlproducers:指定要返回的内容类型,只有在请求头中的(Accept)类型中包含指定的类型时才会返回params:指定请求必须包含一些参数值,以便方法可以处理头:指定请求必须包含一些指定的头值,以便方法可以处理请求。
1.处理get请求:@ RequestMapping (value= index ,method=requestmethod.get)
2.springboot错误处理(使用app客户端返回json格式,使用浏览器返回html错误页面)
@ request mapping(produces= text/html )
3.该方法只处理请求内容类型为“application/json”的请求
@RequestMapping(value=/pets ,consumes=application/json )
4.仅处理名为“myParam”且值为“myValue”的请求。
@ request mapping(value=/pets/{ petId } ,params=myParam=myValue )
5.只有请求的报头包含具有指定的“Refer”报头和相应值“http://www.rxy.com/”的请求
@ RequestMapping (value=/pets ,headers= referer=3358 www . rxy . com/)
@RequestParam
用于将请求参数区的数据映射到函数处理方法的参数。
适用:方法参数
属性
Value/name:这两个属性都引用参数名,即参与请求的参数名(通常是form name属性)。必选:是否需要,defaultValue为真,表示请求中必须有对应的参数;否则,将引发异常。默认值:默认值,表示如果同名请求中没有默认值,设置该参数时,required将自动设置为false。
如果是原子类型,它必须有一个带注释或不带注释的值;否则,将引发异常。如果允许空值,请改用包装类。
index(@ request param integer num){ }表示必须传递该参数,该值允许为空。
指示此参数不是必需的,如果没有传递,则默认为0。
get pagedata(@ request param(name= pagenum ,默认值= 0) String Pageno,String Pagesize):
@PathVariable
用于将请求URL中的模板变量映射到函数处理方法的参数,即取出uri模板中的变量作为参数。
适用:方法参数
属性
值:指定url模板变量名。如果名称与方法参数名称不同,则需要指定,否则可以省略。
@RequestMapping(/index/{id} )
公共字符串索引(@PathVariable(id) String sdf){
system . out . println(SDF);
返回“索引”;
}
@ResponseBody
该注释用于通过适当的HttpMessageConverter将控制器的方法返回的对象转换为指定的格式,然后写入响应对象的主体数据区。默认情况下,springmvc将其作为json返回(使用jackson converter)。
适用:方法,当返回的数据不是带有html标签的页面,而是某种其他格式的数据(如json、xml等)时使用。)
对比:@RequestBody将HTTP请求体转换成合适的HttpMessageConverter对象。
@ResponseBody返回内容或对象作为HTTP响应体,调用适用于HttpMessageConverter的适配器转换对象并写入输出流。
:
@RequestBody
1.该注释用于读取请求请求的正文数据,用默认配置的HttpMessageConverter解析它,然后将相应的数据绑定到要返回的对象。
2.将HttpMessageConverter返回的对象数据绑定到控制器中方法的参数。
适用:方法参数。对于请求的内容类型:application/JSON,application/XML必须使用这个注释。
对于application/x-www-form-urlencoded,如果放了请求模式,就很有必要。
对于POST/GET模式是可选的(即不是必需的,因为@RequestParam,@ModelAttribute也可以处理它)
对于多部分/格式数据,@ requestbody无法处理这种格式的数据。
Attribute:必选:是否需要,默认值为true,表示请求中必须有对应的参数,否则会抛出异常。
示例:通常,ajax请求在该注释的前端发送,因此请求的内容如下:
$.ajax({
类型: POST ,
URL:“/role/save role”,
内容类型:应用程序/json ,
数据:json.stringify(_self.form).注意:contentType不能省略,数据必须是stringify转换成JSON字符串的数据。
那么对应的方法可以这样写:
@ request mapping(value=/save role ,method=RequestMethod。帖子)
public String save role(@ RequestBodyPeople request JSON){ }如果前端传递一个对象数组,后台也可以使用ListObj直接接受,这是最实用的绑定列表数据的方式。
@CookieValue
您可以将请求头中的cookie值绑定到方法的参数。
适用:方法参数
获取cookie中的JSESSIONID
公共字符串索引(@ cookie value( jssession id )String cookie){ }
@RequestHeader
您可以将请求头的值绑定到方法的参数。
适用:方法参数
获取请求中的Accept-Encoding值,并返回gzip,deflate,br
公共字符串索引(@ request header( Accept-Encoding )字符串主机){ return host}
@ExceptionHandler
对方法的注释,表示该方法用于处理特定的异常,处理范围为当前类。如果想全局捕捉异常,需要使用@ControllerAdvice。
当一个控制器中有多个HandleException注释时,哪个方法会捕捉到异常?有一个优先级的问题。
处理程序的优先级是:在异常架构中,哪个异常与目标方法抛出的异常关系更密切,哪个ExceptionHandler被捕获。
Attribute: value:要处理的异常类型(类)的集合。
有两种方法可以处理当前控制器中的异常。当访问/index时,页面显示:json数据。
包com . rxy . controller;
@控制器
公共类HelloController {
@ exception handler({ arithmetic exception . class })
@ResponseBody
公共字符串handleArithmeticException(异常e) {
e . printstacktrace();
返回“json数据”;
}
@ exception handler({ io exception . class })
公共字符串handleIOException(异常e) {
e . printstacktrace();
//返回到错误页面
返回“错误”;
}
@RequestMapping(/index )
公共字符串索引(){
int I=10/0;
返回“索引”;
}
}以上是springmvc中五个常用注释的使用细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。