0
windows' tutorialを使用してWeb APIプロジェクトにjson
ファイルを取得することに問題はありませんでした。Swashbuckleを使ってyaml swaggerを生成する
私はyaml
ファイルを取得できるようにしたいと考えています。しかし問題は、これを可能にするために見つけることができるフックがないことです。
誰でも知っている回避方法この問題はありますか?
windows' tutorialを使用してWeb APIプロジェクトにjson
ファイルを取得することに問題はありませんでした。Swashbuckleを使ってyaml swaggerを生成する
私はyaml
ファイルを取得できるようにしたいと考えています。しかし問題は、これを可能にするために見つけることができるフックがないことです。
誰でも知っている回避方法この問題はありますか?
オプションは、プロジェクトにIDocumentFilterを追加することになり、ここではサンプルのカップルです:
private class YamlDocumentFilter : IDocumentFilter
{
public void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer)
{
string file = AppDomain.CurrentDomain.BaseDirectory + "swagger_yaml.txt";
if (!File.Exists(file))
{
var serializer = new YamlSerializer();
serializer.SerializeToFile(file, swaggerDoc);
}
}
}
...
private class YamlDocumentFilter : IDocumentFilter
{
public void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer)
{
string file = AppDomain.CurrentDomain.BaseDirectory + "swagger.yaml";
if (!File.Exists(file))
{
var serializer = new YamlDotNet.Serialization.Serializer();
using (var writer = new StringWriter())
{
serializer.Serialize(writer, swaggerDoc);
var stream = new StreamWriter(file);
stream.WriteLine(writer.ToString());
}
}
}
}
が、追加あれば、それはあなたのプロジェクトに依存しますYamlSerializerまたはYamlDotNetへの追加の参照が容認されます。
これは正しい方法だと思われますが、私はそれを検証できませんでした。しかし、私はサービスファブリックに展開している可能性があります。 – Manny42
arghhh!詳細の悪魔(***サービスファブリック***)はい、おそらくその例を変更するか、別の依存関係を試す必要があります... – HelderSepu
私はYamlSerializerを使ってサンプルを追加しました。 Azureで動作します:http://swashbuckletest.azurewebsites.net/swagger_yaml.txt – HelderSepu