2015-10-22 63 views
0

我已经创建了一个REST Web服务。现在,调用我的Web服务的应用程序表示将以RESPONSETYPE的形式发送Header,其值为JSON或XML。基于此,我需要在json/xml中生成响应。我知道Accept标头可以通过发送值application/xmlapplication/json来使用。但是,我怎样才能实现基于自定义标题RESPONSETYPE的动态响应?动态地将JSON/XML传递给REST Web服务

在此先感谢。

+0

如何建立你的REST服务的方法?如果你使用的是泽西岛这样的东西,可以由框架自动完成 – tddmonkey

+0

是的,我正在使用泽西岛 – Kaushi

+0

听起来很糟糕。当存在提供相同功能的现有和已记录的标头时,您不应创建自定义HTTP标头。 'Accept'请求头描述了**“响应可接受的内容类型”。**此外,大多数框架可以根据**'Content-Type' **和**'Accept'自动选择响应格式。 **标题。 –

回答

1

你应该能够在您的Response对象明确设置MediaType做到这一点。

@GET 
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) 
public Response getSomething(@HeaderParam("your-customer-header") String customHeaderType) { 
    return Response.ok(thingYouWantToReturn, mediaTypeFrom(customHeaderType)).build(); 
} 

mediaTypeFrom是你需要确定哪些实际MediaType返回被

+0

非常感谢。它的工作。 :) – Kaushi

相关问题