問題タブ [aspnet-api-versioning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net-core - VersionByNamespaceConvention を使用して Webapi .net-core をバージョンアップし、コントローラーで RouteAttribute を使用することを強制されない
アイデアは、次のように URL ごとにバージョン管理された API を持つことです。
- /api/v1/天気予報
- /api/v2/天気予報
- /api/v3/天気予報
私の名前空間は次のとおりです。
起動時に、バージョニングを登録するための次のコードがあります。
だから私はすべてのコントローラーの"[Route("api/v{version:apiVersion}/[controller]")]"属性を削除したかったのですが、これは可能ですか?
次のようなものを使用してコントローラーをマップしようとしていました。
しかし、コードを実行すると、次のエラーが発生します。
アクション 'ApiVersioning.Api.V3.Controllers.WeatherForecastController.Get (ApiVersioning)' には属性ルートがありません。ApiControllerAttribute で注釈が付けられたコントローラーのアクション メソッドは、属性ルーティングされる必要があります。
では、すべてのコントローラーの上にある RouteAttribute の必要性をなくす、すべてのコントローラーに暗黙的なルーティング規則を追加することはできますか?