「VersionHeaderVersionedControllerSelector」を使用して、X-Api-Header で API をバージョン管理するために WebAPIバージョニング パッケージを使用しています。また、Microsoft.AspNet.WebApi.HelpPageを使用して、API のドキュメントを自動生成しています。コントローラーのバージョン管理が機能するには、"VersionHeaderVersionedControllerSelector" が次のように要求を適切なバージョンのコントローラーにルーティングできるように、名前空間のサフィックスとして VersionXYZ を使用して名前空間を設定する必要があります。
namespace WEBAPI.Api.Controllers.Version1
{ public class ProductsController : ApiController {} }
namespace WEBAPI.Api.Controllers.Version2
{ public class ProductsController : ApiController {} }
これは意図したとおりに機能しますが、生成されたヘルプ ページを見ると、ApiDescriptionの ID ( GETapi/Version1.Products ) および RelativePath( api/Version1.Products ) プロパティに名前空間の "VersionXYZ" サフィックスが含まれています。理想的には、API バージョン番号とドリルインだけで API を通常の方法で表示するトップレベルのヘルプ ページを用意することです。つまり、ApiDescription.ID = GETapi/Products と ApiDescription.RelativePath = api/Products
Out of the Box API を使用してこれを達成する方法はありますか、それとも ApiExplorerの独自の実装をロールアウトする必要がありますか?