gpt4 book ai didi

java - 在 spring mvc Controller 中获取不支持的媒体类型

转载 作者:太空宇宙 更新时间:2023-11-04 13:21:33 25 4
gpt4 key购买 nike

我写了一个 Controller 。我只是将其修改为接受对象列表而不仅仅是一个对象。所以我创建了一个包含原始对象列表的包装类。但在此之后我收到 415 - 不支持的媒体类型。我无法弄清楚为什么会发生这种情况。尝试了几乎所有我能找到的建议。

Controller 类:

 @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> addCPCodeUser(HttpServletRequest request,
@RequestBody CPCodeUserWrapper users) {

包装类:

public class CPCodeUserWrapper {

private List<CPCodeUser> users;

.... setters and getters ...

}

原始类:

public class CPCodeUser {

private String userId;
private String name;
List<String> roles;
.... setters and getters....
}


url - v1/users/
JSON :
{
"users" : [{
"userId" : "user1",
"roles" : ["role1", "role2"]
},{
"userId" : "user2",
"roles" : ["role1", "role2"]
}]
}

最佳答案

您的 POJO 是否没有参数构造函数?当 JSON 库无法实例化对象并且异常被 spring 混淆时,我遇到了非常模糊的错误。

您是否使用 MockMVC 框架来测试您的 Controller ?我发现单元测试通常会在部署应用程序时给出更清晰的异常

关于java - 在 spring mvc Controller 中获取不支持的媒体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33009274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com