[英]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.