GlassFish Jersey瞬态?

时间:2016-03-04 14:34:47

标签: java json xml rest glassfish

我的大学有一个小项目。我想在Jersey上使用REST网络服务器(在GlassFish上)。 我尝试将MOXy替换为杰克逊,但我无法做到。

我有一个modell类,它包含很少的变量。输出是正确的JSON或XML。但是我想把Transient注释放到一些变量上。

javax.xml.bind.annotation.XmlTransien注释无效。我在输出响应中看到变量。

这是我的模式类:

public class Xyz {
    private String a = "value";
    private int b = 3;

    @XmlTransient
    private List<int> list = new LinkedList<>();

    // get, set ..
}

我的服务类是:

@Path("myresource")
public class MyResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getIt() {
        return "Got it!";
    }

    @GET
    @Produces("application/json")
    @Path("/json")
    public Response getJSON() {
        return Response.ok(new Xyz()).build();
    }

    @GET
    @Produces("application/xml")
    @Path("/xml")
    public Response getXML() {
        return Response.ok(new Xyz()).build();
    }
}

web.xml:

    <servlet>
            <servlet-name>Jersey Web Application</servlet-name>
            <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
            <init-param>
                <param-name>jersey.config.server.provider.packages</param-name>
                <param-value>com.example</param-value>
            </init-param>
            <init-param>
                <param-name>jersey.config.server.provider.classnames</param-name>
                <param-value>org.glassfish.jersey.moxy.json.MoxyFeature</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Jersey Web Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>

问题出在哪里?或者如何替换杰克逊?我想使用GlassFish。

非常感谢!

0 个答案:

没有答案