gpt4 book ai didi

java - Jersey 中的 Moxy JAXB json 映射返回 415

转载 作者:行者123 更新时间:2023-11-29 05:29:03 25 4
gpt4 key购买 nike

我有一个带有 POST 方法处理程序的 Jersey2 服务

@Path("register")
public class RegisterResource {
@XmlRootElement
class PostUserParams {
String username;
String password;

public PostUserParams() {}
}


@POST
@Consumes(MediaType.APPLICATION_JSON)
public postData(PostUserParams user) {
...
}
}

但我无法使 POST 请求正常工作 - 我已经收到 415 Unsupported Media Type。我很确定

  • 我在请求中有正确​​的 Content-Type
  • moxy、jaxb 和所有 jar 和依赖项都已正确部署
  • 我什至尝试为 Jersey 添加一些 moxy 配置,但根据文档,这似乎不是必需的
  • 其他不涉及 JSON 到 Java 转换的请求工作正常
  • 请求中的JSON是正确的

什么给了?

最佳答案

经过大量的挖掘和调试(Jersey 调试让我头晕目眩!)我发现了一个异常,不幸的是,它被吞噬在这些库中。

bean 类,在本例中为 PostUserParams,必须有一个无参数的构造函数。我知道了,但是这个类不是静态的,因此 Java 不会这样对待它。

解决方案:使 PostUserParams 静态化。或者放在资源类之外。

关于java - Jersey 中的 Moxy JAXB json 映射返回 415,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21750116/

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