如何使用嵌入式 Jetty 接受 JSON 个 POJO?

How to accept JSON POJOs using embedded Jetty?

如何配置嵌入式 Jetty 和 Java Jersey 以接受 JSON POJO? (配置应该以编程方式完成,而不是在 web.xml 文件中。)

我正在使用 Jetty 9.4.1 Java Jersey 2.25.1

(我在网上搜索过,更多信息是关于 Jetty/Jersey 的过时版本,或者它是针对 .xml 文件配置的。)

如果只是添加下面的依赖

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>${jersey2.version}</version>
</dependency>

这应该足够了。 JacksonFeature需要的注册应该1自动执行

1 - 应该 因为如果你正在创建一个 uber jar,你需要小心不覆盖 auto-discovery 所需的文件。通常这可以通过使用 maven-shade-plugin 来避免。 .

中对此进行了进一步讨论

另请参阅:

  • 其他方式手动注册JacksonFeature.

我自己解决了。我没有添加任何依赖项。我刚刚添加了一个方法字符串参数:

@PUT
@Path("/{accountID}")
@Consumes("application/json")
@Produces("application/json")
public final Response testPut(String jsonString) { ...

确实它捕获了 JSON 输入字符串!