【问题标题】:How do I serve a static file with httprouter with correct MIME type?如何使用具有正确 MIME 类型的 httprouter 提供静态文件?
【发布时间】:2016-12-20 01:24:20
【问题描述】:

我正在使用 httprouter Go 库来实现 REST API 服务,我决定尝试使用 ServeFiles 来提供与我的 API 关联的一些架构文件。我注意到它在后台使用 Go 方便的内置 net/http 包来提供静态文件。

它几乎可以完美运行,除了一点点:RAML 文件以 text/plain 的内容类型提供服务。然而,我注意到我使用application/json 提供的 JSON 模式文件,因此很明显静态文件服务存在某种 MIME 类型关联。有没有办法配置它来检测我的 RAML 文件,并使用内容类型 application/raml+yaml 代替它?

对于 RAML 文件,我遵循 .raml 文件扩展名和对于 JSON 模式的 .json 文件扩展名的常规约定。

【问题讨论】:

    标签: json go mime-types static-files raml


    【解决方案1】:

    是的,有办法做到这一点。 net/http 库在底层使用 mime 库来检测内容类型。特别是,它使用TypeByExtension 来确定文件扩展名是否与已知的内容类型相关联。要进行配置,只需调用 AddExtensionType,例如,在应用启动期间注册静态文件路由的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 2011-08-25
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多