JAX-RS接受标头参数兼容性

时间:2017-01-10 07:53:39

标签: java jax-rs http-accept-language

如果int i = (int)row["some_int_column"]; 标头参数字符串具有多种可接受的媒体类型,例如:

Accept

如何查找媒体类型是否与单个MediaType对象兼容?

如果text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 标头包含单个媒体类型,那么它可以正常工作。

Accept

是否有某些方法,例如MediaType.valueOf(acceptHeaderparam).isCompatible(MediaType.valueOf(contentType)

注意: MediaType.isCompatible(String)标头无法使用,因为支持自定义媒体类型,并且无法在编译时确定所有媒体类型。

1 个答案:

答案 0 :(得分:0)

这样的东西?

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);
}