2

我正在使用 Jersey 和 Grizzly 来创建 JSON Web 服务。我将其初始化如下:

    final ResourceConfig rc = new PackagesResourceConfig("amplify.api.resources");
    rc.getProperties().put(JSONConfiguration.FEATURE_POJO_MAPPING, true);
    return GrizzlyServerFactory.createHttpServer(BASE_URI, rc);

我没有 web.xml 文件。我注意到 Jersey 将单个元素列表映射为“元素”,而不是我所期望的“[元素]”。似乎这显然是因为 Jersey 使用了除 Jackson 之外的 POJO->JSON 映射器,出于我无法理解的原因,他们认为自动解开单元素列表是一个好主意。

我通过配置 web.xml 文件找到了如何让 Jersey 使用 Jackson 的解释,但由于我没有 web.xml,我不确定如何执行此操作。

谁能解释我如何以编程方式配置泽西岛以使用杰克逊?

4

2 回答 2

1

我对如何使用 Grizzly2 在 Jersey 中以编程方式启用 POJO 映射有回应?

这个想法是将 jersey-json 库添加到您的应用程序中。

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>${jersey.version}</version>
</dependency>
于 2013-01-17T06:19:50.040 回答
0

看看Jackson jax-rs 模块JacksonJsonProvider中的。

您需要将它(或子类,JacksonJaxbJsonProvider@Provider

于 2012-03-12T20:26:40.553 回答