簡體   English   中英

JAX-RS接受標頭參數兼容性

[英]JAX-RS Accept header param compatibality

如果Accept標頭參數字符串具有多種可接受的媒體類型,例如:

text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

如何查找媒體類型是否與單個MediaType對象兼容?

如果“ Accept標頭包含單個媒體類型,則它將起作用。

MediaType.valueOf(acceptHeaderparam).isCompatible(MediaType.valueOf(contentType) 

是否有諸如MediaType.isCompatible(String)

注意: @Consumes標頭不能使用,因為支持自定義媒體類型,並且在編譯時無法確定所有媒體類型。

像這樣嗎

public boolean isCompatible(String mediaTypeStr, String contentType) {
    MediaType type = MediaType.valueOf(contentType);
    return Arrays.stream(mediaTypeStr.split(","))
                 .map(t -> MediaType.valueOf(t.trim()))
                 .anyMatch(type::isCompatible);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM