我如何提供一个静态文件与httproouter正确的MIME类型



我正在使用httproouter Go库来实现一个REST API服务,并且我决定尝试使用ServeFiles来提供与我的API相关的一些模式文件。我注意到它使用Go的内置net/http包来提供静态文件。

它几乎完美地工作,除了一个小问题:RAML文件以内容类型text/plain提供。但是,我注意到,我使用application/json服务的JSON模式文件,因此很明显,静态文件服务中存在某种MIME类型关联。是否有一种方法可以将其配置为检测我的RAML文件,并使用内容类型application/raml+yaml代替它?

我对RAML文件遵循.raml文件扩展名的惯例,对JSON模式遵循.json文件扩展名。

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

相关内容

  • 没有找到相关文章

最新更新