当我要求JSON时,RestEasy返回XML

时间:2014-01-30 17:34:16

标签: json resteasy

我正在使用RestEasy挂钩到api。我指定我想要JSON,但我继续获取XML ...这是我定义端点的地方

@Path("/page.asmx")
@Produces("application/json")
public interface ApiProxy {

    @POST
    @Path("/doc_Get")
    @Consumes("application/json")
    ClientResponse<DocOutput> getDocOutput(@Form DocInput docInput);
}

当我的服务联系以解组响应时,我收到以下错误:

 javax.xml.bind.UnmarshalException: unexpected element (uri:"https://something.com/", local:"ServiceBaseOfDoc"). Expected elements ...

我也正在注册一个具有重复性的JacksonJsonProvider。好像标题Content-Type:application / json没有被传递......

如果我用curl尝试这个相同的请求并使用头文件内容类型:application / json我得到了json ...为什么我会得到XML?

1 个答案:

答案 0 :(得分:0)

我在我的方法中添加了一个@HeaderParam,并且能够强制使用正确的内容类型。

ClientResponse<DocOutput> getDocOutput(@HeaderParam("Content-Type") MediaType contentType, @Form DocInput docInput);