Java JAX-RS接受头参数兼容性
如果Java JAX-RS接受头参数兼容性,java,jax-rs,http-accept-language,Java,Jax Rs,Http Accept Language,如果Accept标题参数字符串有多种可接受的媒体类型,例如: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 如何查找媒体类型是否与单个MediaType对象兼容 如果Accept标题包含一种媒体类型,则它可以工作 MediaType.valueOf(acceptHeaderparam).isCompatible(MediaType.valueOf(contentType) 是否有一些方法,例如MediaType.isCompati
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);
}