spring和springmvc常用注解,springmvc的常用注解有哪些

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: