3

ヘルプ ページにメソッドの両方のバージョンが表示されないようにするにはどうすればよいですか?

ご覧のとおり、 のカスタム ルートを設定しました/api/property/search/{finnId}が、クエリ パラメータを使用するルートをヘルプ ページに表示したくありません。これを回避する方法はありますか?ASP.NET Fall 2012 BUILD preview の組み込みのヘルプ ページを使用しています。

ところで、 と表示されていても心配しないでくださいPOST。その後、 に切り替えましたGETが、同じ結果が得られます。

4

2 に答える 2

4

このルートをヘルプ ページで非表示にするだけで、アプリで実際に無効にしたくない場合は、いつでも表示テンプレートのロジックを微調整できます。

" ...\DisplayTemplates\ApiGroup.cshtml " ファイルを変更して、レンダリングされる各 API を確認し、URL 内のクエリ文字列の存在に基づいて API を含めるかどうかを決定するロジックを追加することができます。 .

それでも、注意すべき重要なことは、これがルートを無効にするわけではないということです。このヘルプページで隠しているだけです。ルートを無効にしたい場合は、独自のカスタム ルートを定義する必要があると思います。

于 2012-11-15T23:30:29.743 に答える
0

Api のルート リクエストにはさまざまな組み合わせがあるため、ヘルプ ページにはデフォルトですべての組み合わせが表示されます。UI で表示を非表示にするだけの場合は、HelpController.cs のコレクションから項目を削除できます。

//helpcontroller.cs 
        public ActionResult Index()
        {
            ViewBag.DocumentationProvider = Configuration.Services.GetDocumentationProvider();
            //return View(Configuration.Services.GetApiExplorer().ApiDescriptions); 
            var apiExplorer = Configuration.Services.GetApiExplorer();
            for (int i = apiExplorer.ApiDescriptions.Count - 1; i >= 0; i--)
            {
                if (apiExplorer.ApiDescriptions[i].RelativePath.Contains("?")) { apiExplorer.ApiDescriptions.RemoveAt(i); }
            }
            return View(apiExplorer.ApiDescriptions);
        }

于 2015-05-12T02:42:11.300 に答える