【问题标题】:Which Java libraries do HTTP Accept Header Parsing? [closed]HTTP 接受标头解析的 Java 库有哪些? [关闭]
【发布时间】:2019-01-27 12:50:45
【问题描述】:

哪些 Java 库解析 HTTP Accept 标头?

【问题讨论】:

    标签: java http http-headers


    【解决方案1】:

    您应该阅读这篇文章:http://www.xml.com/pub/a/2005/06/08/restful.html

    文章使用Python但没问题:最后分享如下链接:http://code.google.com/p/mimeparse

    如您所见,“mimeparse”是:

    在 Erlang、JavaScript、Perl、PHP、Python、Ruby、Java

    中处理 mime 类型的基本函数

    根据主页:

    List<String> mimeTypesSupported = Arrays.asList(StringUtils.split(
                "application/xbel+xml,text/xml", ','));
    String bestMatch = MIMEParse.bestMatch(mimeTypesSupported, "text/*;q=0.5,*/*;q=0.1");
    

    【讨论】:

    • MIMEParse 正是我正在寻找的,但不幸的是,它在 Maven Central 中不可用......
    • 这并不重要:mvn install:install-file -DgroupId= -DartifactId= -Dpackaging=jar -Dversion= -Dfile=/to/jar > -DgeneratePom=true
    • 另一种解决方案是使用 Nexus、Artifactory、Archiva 之类的存储库管理器……但最简单的解决方案是使用 maven install:install-file 安装 jar
    • 您可以将 MIMEParse.java 复制到您的项目中并随意使用它,它是 MIT 许可的。
    【解决方案2】:

    看看 HttpClient Util.parseHeader 方法。


    编辑:(试图让这个答案值得事后接受)

    spring 框架在其MediaType 组件中提供了此功能。

    如果您已经在使用 Spring MVC,您可以简单地请求 @RequestHeader 类型的注释参数 HttpHeaders 并通过调用 HttpHeaders.getAccept() 访问接受的媒体类型列表。

    【讨论】:

    • 如果你使用雅加达/泽西岛:HttpHeaderReader.readAcceptMediaType(value)
    猜你喜欢
    • 2010-09-20
    • 2015-09-03
    • 2010-09-06
    • 2013-03-13
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    相关资源
    最近更新 更多