にバージョン管理を追加します。クライアントが特定のクエリ文字列パラメータ、たとえば/api/accounts/123?api-version=2
を追加した場合に呼び出されるこのコントローラの別のバージョンを作成したいと思います。 は、私はこのようになりますコントローラで既存のASP.NET WebAPIのプロジェクトを持っている既存のWebAPIの
namespace WebSite.WebApi.Controllers.V2
{
[ApiVersion("2")]
[RoutePrefix("api/accounts")]
public class AgreementsController : ApiController
{
// GET ~/api/accounts/xxx?api-version=2
[Route("{accountId}")]
public IHttpActionResult Get(string accountId) => Ok($"Account #{accountId} from V2 controller");
}
}
しかし、それはしていないようです:(
api-version
PARAMなし)最初のURLは、まだ私は別のコントローラを作り、このよう
ApiVersion
属性を使用して
aspnet-api-versioning by Microsoftを使用すると考えていた初期のコントローラに
を導くべきですそのように働く。 GitHubのすべてのサンプルは、私のコントローラーを両方ともApiVersion
属性で装飾し、両方のURLで明示的にバージョンを使用することをお勧めします:/api/accounts/123?api-version=1
と/api/accounts/123?api-version=2
。
しかし、最初のコントローラーのURLは、現在と同じままにする必要があります(/api/accounts/123
)。 aspnet-api-versioning ライブラリでこれを実現する方法はありますか?または、このタスクを実行できる他のAPIバージョン管理ライブラリがありますか?これが可能である