我已經創建了一個REST Web服務。現在,調用我的Web服務的應用程序表示將以RESPONSETYPE的形式發送Header,其值爲JSON或XML。基於此,我需要在json/xml中生成響應。我知道Accept標頭可以通過發送值application/xml或application/json來使用。但是,我怎樣才能實現基於自定義標題RESPONSETYPE的動態響應?動態地將JSON/XML傳遞給REST Web服務
在此先感謝。
我已經創建了一個REST Web服務。現在,調用我的Web服務的應用程序表示將以RESPONSETYPE的形式發送Header,其值爲JSON或XML。基於此,我需要在json/xml中生成響應。我知道Accept標頭可以通過發送值application/xml或application/json來使用。但是,我怎樣才能實現基於自定義標題RESPONSETYPE的動態響應?動態地將JSON/XML傳遞給REST Web服務
在此先感謝。
你應該能夠在您的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
返回被
非常感謝。它的工作。 :) – Kaushi
如何建立你的REST服務的方法?如果你使用的是澤西島這樣的東西,可以由框架自動完成 – tddmonkey
是的,我正在使用澤西島 – Kaushi
聽起來很糟糕。當存在提供相同功能的現有和已記錄的標頭時,您不應創建自定義HTTP標頭。 'Accept'請求頭描述了**「響應可接受的內容類型」。**此外,大多數框架可以根據**'Content-Type' **和**'Accept'自動選擇響應格式。 **標題。 –