Spring Boot 定义 API 返回类,调用时报 HTTP 406 错误
约 67 个字 40 行代码 预计阅读时间 1 分钟
情况
代码如下:
控制器 |
---|
| @RestController
@Slf4j
@RequestMapping("/")
public class TestController {
@GetMapping("/")
public BaseResponse index(...) {
// ...
return new BaseResponse("成功");
}
}
|
自定义的返回类 |
---|
| public class BaseResponse<T> {
private Integer code;
private String message;
private T data;
public BaseResponse(Integer code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public BaseResponse(Integer code, String message) {
this.code = code;
this.message = message;
}
public BaseResponse(String message) {
this.code = 0;
this.message = message;
}
}
|
发送请求,得到的返回结果如下:
| {
"timestamp": "2025-06-26T09:40:53.026+00:00",
"status": 406,
"error": "Not Acceptable",
"path": "/"
}
|
最可能的问题
未给返回类写 getter、setter 方法。
Lombok 的 @Data
注解可以方便地添加这些方法:
| @Data
public class BaseResponse<T> {...}
|