发布时间:2023-05-03 文章分类:WEB开发, 电脑百科 投稿人:赵颖 字号: 默认 | | 超大 打印

封装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.启动程序

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representatio

5.发送请求

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representatio

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注解