2016-08-23 15 views
0

私はスワッガーを理解しようとしています。&ビジュアルスタジオのOwinテンプレート。EnableSwagger confusion

は、私は基本的に右の開始時にこだわって:私は混乱している

var httpConfiguration = new HttpConfiguration(); 
// Configure Swagger UI 
httpConfiguration 
    .EnableSwagger(c => c.SingleApiVersion("v1", "Test API")) 
     .EnableSwaggerUi(); 

がSingleApiVersionはどこから来たように見えますラムダ関数です。

これはどのように組み合わされますか?

私はEnableSwagger拡張メソッドは、2つのオーバーロードがあることを見ることができます。

(Action<SwaggerDocsConfig> configure = null) //(this is also confusing) and 
(string routeTemplate, Action<SwaggerDocsConfig> configure = null) 

だから私はSingleApiVersionがSwaggerDocsConfig から来しかし、どのようにしていることを見ることができます!

基本的な質問を申し訳ありませんが、私は自分自身にこれを理解しようと頭痛を与えたと思います。

答えて

1

代理人がAction<T>Action<SwaggerDocsConfig>として渡されると、子メンバーSingleApiVersionは値を返さないため設定できます。 SwaggerDocsConfigのインスタンスは、HttpConfigurationExtensionsクラスのEnableSwaggerメソッドのコンストラクタでインスタンス化されます。