下面是关于“springboot中@RequestMapping的用法”的完整攻略。
@RequestMapping注解
@RequestMapping是Spring MVC中的注解,它可以将URL映射到一个特定的方法上。在Spring Boot应用中,我们可以使用它来定义REST API的终端点(Endpoint)。
常用属性
@RequestMapping注解有许多属性,下面是其中几个常用的属性:
- value: 映射的URL路径,可以是一个字符串或者一个字符串数组。
- method: 请求的HTTP方法,常用的有GET、POST、PUT、DELETE等。
- produces: 返回的数据类型,可以是一个字符串或者一个字符串数组。
- consumes: 接收的数据类型,可以是一个字符串或者一个字符串数组。
示例一:简单的请求映射
我们可以在一个Controller类中使用@RequestMapping注解来定义REST API的请求URL。
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String hello() {
return "Hello world";
}
}
在上面的代码中,我们在类上使用@RestController注解,这个注解告诉Spring Boot这个类是一个REST API的控制器,其中hello()方法上使用@RequestMapping注解来映射URL路径。当访问http://localhost:8080/hello时,就会触发这个hello()方法,返回“Hello world”。
示例二:根据请求参数返回不同的响应
我们也可以根据请求参数来返回不同的响应。
@RestController
public class GreetingController {
@RequestMapping(value="/greeting", method= RequestMethod.GET, produces="application/json")
public @ResponseBody Map<String, Object> greeting(@RequestParam(value="name", defaultValue="World") String name) {
Map<String, Object> map = new HashMap<>();
map.put("message", "Hello " + name);
map.put("timestamp", new Date());
return map;
}
}
在上面的代码中,我们定义上面的/greeting地址会返回一个JSON格式的响应,其中参数包含两个参数:message和timestamp,分别对应"Hello name"和当前的时间戳。当访问http://localhost:8080/greeting?name=Alex时,会返回以下结果:
{
"message": "Hello Alex",
"timestamp": "2021-08-26T06:25:48.335+00:00"
}
这里使用了@RequestParam注解来定义请求参数,defaultValue属性用于指定默认值。
以上就是关于“springboot中@RequestMapping的用法”的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot中@RequestMapping的用法 - Python技术站