2015-10-22 64 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

相關問題