封装springboot返回值+枚举出现org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
代码实现
1.定义返回值类ResultData
public class ResultData {
private String code;
private String message;
private java.util.List<Object> List;
public ResultData(String code, String message, java.util.List<Object> list) {
this.code = code;
this.message = message;
List = list;
}
public ResultData(CTPEnum retsuccess, ArrayList<Object> list) {
this.code = retsuccess.getCode();
this.message = retsuccess.getMessage();
List = list;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public java.util.List<Object> getList() {
return List;
}
public void setList(java.util.List<Object> list) {
List = list;
}
}
2.定义枚举类CTPEnum
public enum CTPEnum {
PARAMETER("0001","参数为空"),
RETURNDATA("0002","数据为空"),
ok("ok","成功");
private String code;
private String message;
CTPEnum(String code, String message) {
this.code=code;
this.message=message;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
3.定义请求controller
@RestController
public class TestController {
// @CrossOrigin(origins = {"http://localhost:8081", "null"})
@RequestMapping("/hello")
public ResultData hello() {
System.out.println("4444");
HashMap<Object, Object> hashMap = new HashMap<>();
ArrayList<Object> list = new ArrayList<>();
hashMap.put("name","liu");
hashMap.put("pk","0000001");
list.add(hashMap);
ResultData resultData = new ResultData(CTPEnum.ok, list);
return resultData;
}
}
4.启动程序

5.发送请求

6.问题+解决
Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]
解决方法一:封装的返回类ResultData中没有加set个get方法,加上就可以了。
解决方法二:封装的返回类ResultData上加上@Data注解。
1.在pom.xml中加入lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
2.在ResultData类上加上@Data注解