.Net Core フレームワークでの API のバージョン管理について明確にする必要があります。
私のクライアントは、バージョンがルーターレベルで処理されることを望んでいます。お気に入り
[Route("1/[controller]")]
public class SampleController : Controller
{
[HttpGet("version")]
public IActionResult GetVersion()
{
return Ok({"Message": "API Version 1"});
}
}
https://www.somedomain.com/api/1/sample/versionを使用してこれにアクセスします
IIS で、デフォルトの Web サイトの下に「api」というアプリケーションを作成し (URL のパス「api」はここで処理されます)、ここでコードをホストします。
API のバージョン管理を行うために、ここに従うことができるより良い方法は何ですか。
これはできますか?
[ApiVersion("1")] [Route("{version:apiVersion}/[controller]")] public class SampleController : Controller { [HttpGet("version")] public IActionResult GetVersion() { return Ok({"Message": "API Version 1"}); } [HttpGet("version"), MapToApiVersion("2" )] public IActionResult GetVersion() { return Ok({"Message": "API Version 2"}); } }
IIS のアプリケーションの下にアプリケーションを作成することは可能ですか。お気に入り、
デフォルト Web サイト -> api -> 1 -> API バージョンが記載されていないコード
既定の Web サイト - > api -> 2 -> API バージョンが記載されていない更新されたコード
- または、IIS でアプリケーションとしてバージョンを作成し、各アプリケーション バージョンの下にコードを展開できますか。お気に入り、
既定の Web サイト - > 1 -> API バージョンが記載されていないコード
既定の Web サイト - > 2 -> API バージョンが記載されていない更新されたコード
これは、私が好まない API URL を変更することになります。私はまだ同じURIを使いたいです。https://www.somedomain.com/api/1/sample/version
を使用してこれにアクセスします
ここで私が従うことができる最善のアプローチを教えてください。