JAX-RS验证通用上传和下载API

时间:2016-11-15 15:23:11

标签: jax-rs

要求是实施POST /v1/dataGET /v1/data API。

上传API(POST)可以包含任何Content-Type。这不是问题,因为内容类型与数据一起存储在数据库中。

下载API(GET)应该:

  1. 设置与上次上传调用相同的Content-Type
  2. 使用请求中收到的Content-TypeAccept标头进行验证。
  3. 问题在于使用Content-Type标头验证AcceptAccept标题可以是*/*text/*(部分具体)或text/plain(完全具体)。如果上次上传的Content-Typetext/plain,则上述三个Accept标头均有效。

    是否有内置方法,如bool validate(accept_header, content_type)进行验证?

1 个答案:

答案 0 :(得分:2)

您可以使用MediaTypeString转换为MediaType#valueOf个对象:

  

通过解析提供的字符串来创建MediaType的新实例。

并使用MediaType#isCompatible检查:

  

检查此媒体类型是否与其他媒体类型兼容。例如。 image / *与image / jpeg,image / png等兼容。忽略媒体类型参数。该功能是可交换的。