在SpringMVC中,我们经常通过注解来简化开发,提高开发效率。以下是一些常用的 Spring MVC 注解及其用法总结
1.@RestController和@RequestMapping
RestController
在RestController中,是用于标识一个类是RESTful Web服务的控制器,其本身不会做视图解析,而是直接将对象写入到HTTP响应正文中。大家可以理解为,整个框架在运行的时候,带有RestController或Controller的类会被先扫描一下(粗糙理解),正常只标注在类上
RequsetMapping
RequsetMapping注解用于将 HTTP 请求(GET、POST、PUT、DELETE 等)映射到相应的控制器方法上。它可以作用在控制器类 上,用于指定该控制器处理的根路径,也可以作用在方法上,用于进一步定义具体的请求路径和请求方法类型。
举例如下
运行,之后浏览器按照RequsetMapping标注的路径进行访问,则可得到返回的字符串(127.0.0.1:8080不变,后面的路径是自己定义的)
RequsetMapping注解对于http的请求(GET、POST、PUT、DELETE 等)都是可以的,如果对于一些场景,只能使用get或者只能使用post,需要进行限制,设置method参数,如下
则在通过浏览器访问时(这里使用工具Postman方便点),GET请求可以获得字符串,而其他请求均不行,如下图
除了上述的方法可以限制为GET请求或者POST请求外,还可以时用@GetMapping和@PostMapping等,用法与上述类似,就不测试运行结果了
@RequestParam
在日常传递参数的请求中,例如,下图中传递的参数的参数名为"s",如果参数名在传参的过程中时不能出错的
当参数名出错时,
@RequestParam提供了对后端请求的参数绑定到方法的参数上,如上图中,为参数s1传递了参数,但是参数s显示为空,使用@RequestParam后
再为s1传参后
RequestBody
RequestBody注解用来接受一个JSON数组,可以理解接受一个复杂对象,举例说明
我们创建一个student类,在该类中包含id name passward ,在传参中如图
虽然我们传递了参数,但是返回值却为空值,加上注解后
上述为一些简单常用的注解(主要我才学到这),剩下的注解等我学过了再分享