项目里使用的是springboot2.7.6版本。
因为文档的需要,我得指定@RequestMapping的produces属性值为application/json:

因为Controller会有很多,那样每个Controller都要重复加上produces="application/json"。
有没有什么办法可以节省这部分工作,统一设置所有Controller上标注的@RequestMapping里的produces属性值为application/json呢?
项目里使用的是springboot2.7.6版本。
因为文档的需要,我得指定@RequestMapping的produces属性值为application/json:

因为Controller会有很多,那样每个Controller都要重复加上produces="application/json"。
有没有什么办法可以节省这部分工作,统一设置所有Controller上标注的@RequestMapping里的produces属性值为application/json呢?
如果你需要在Spring中指定@RequestMapping的produces属性值为 application/json,你可以在你的控制器中直接使用 @RequestMapping 注解。具体代码:
示例代码```javaimport org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController@RequestMapping(produces = "application/json")
public class MyController {
// 此方法的返回类型将会是 application/json @GetMapping("/example")
public MyResponse example() {
return new MyResponse("Hello, World!");
}
//其他的请求映射也将会默认返回 application/json}
###说明1. **`@RestController`**:用于标识控制器,表示这个控制器会返回响应体内容(JSON)。
2. **`@RequestMapping(produces = "application/json")`**:在类级别上设置 `produces` 属性,所有在该类中定义的请求映射都会默认使用这个返回类型。
3. **个别方法**:如果有某些方法希望返回不同的媒体类型,可以在方法上单独声明 `produces` 属性。例如:
```java @GetMapping(value = "/otherExample", produces = "text/plain")
public String otherExample() {
return "Hello, Text!";
}
这样设置后,你的所有请求处理方法默认都会返回 JSON 格式的数据。如果有其他需求,也可以在方法级别进行单独设置。