2016-08-13 19 views
1

私はhttprouter Goライブラリを使用してREST APIサービスを実装しています。私はServeFilesに、自分のAPIに関連するスキーマファイルを提供することにしました。静的なファイルを扱うために、Goの便利な組み込みのnet/httpパッケージを使用しています。正しいMIMEタイプのhttprouterで静的ファイルを提供するにはどうすればよいですか?

RAMLファイルはコンテンツタイプtext/plainで提供されます。しかし、私が持っているJSONスキーマファイルはapplication/jsonで提供されているので、静的ファイルサービスで何らかのMIMEタイプの関連付けが行われていることは明らかです。 RAMLファイルを検出するように設定する方法はありますか?代わりにコンテンツタイプapplication/raml+yamlを使用しますか?

通常、RAMLファイルのファイル拡張子は.raml、JSONスキーマのファイル拡張子は.jsonです。

答えて

2

はい、これを行う方法があります。 net/httpライブラリはコンテンツタイプを検出するためにフードの下にmimeライブラリを使用します。特に、TypeByExtensionを使用して、ファイル拡張子が既知のコンテンツタイプに関連付けられているかどうかを判断します。これを設定するには、アプリの起動時にスタティックファイルルーティングを登録する場所、たとえばAddExtensionTypeを呼び出します。

関連する問題