@RestController @Slf4j
时间: 2024-06-26 19:00:26 浏览: 145
`@RestController` 是Spring MVC框架中的一个注解,它结合了`@Controller`和`@ResponseBody`两个注解的功能。`@Controller`用于标记一个类是Spring MVC的控制器,负责处理HTTP请求,而`@ResponseBody`表示控制器的方法直接返回可序列化的对象,而不是HTML视图。
在Java类上使用`@RestController`,意味着这个类中的方法将直接返回JSON响应,无需额外配置视图解析器。例如,在`NewsController`中,`@GetMapping("/queryByName")`方法接收HTTP GET请求,参数`name`和`num`会被注入并打印日志,然后返回一个格式化的字符串:
```java
@GetMapping("/queryByName")
public String queryByName(@RequestParam String name, @RequestParam( defaultValue = "0" ) Integer num) {
log.info("Received request with name: {}", name);
return "Name: " + name + ", Num: " + (num != null ? num : "not provided");
}
```
当发起`http://localhost:8080/news/queryByName?name=test&num=42`这样的GET请求时,Spring会调用这个方法,`log.info`记录请求信息,返回的结果会被直接作为HTTP响应的主体。
启动Spring应用,访问指定的URL即可看到效果。这种方式在RESTful API开发中非常常见,便于处理数据和日志管理。
阅读全文