출처: https://qiita.com/alicial/items/f095ef52c5677abc3f7e
액션 별로 버전 관리
「Microsoft.AspNetCore.Mvc.Versioning」을 사용한 버전 관리 방법
참고: https://dotnetcoretutorials.com/2017/01/17/api-versioning-asp-net-core/
순서
1. 버전 관리를 하고 싶은 프로젝트에 Microsoft.AspNetCore.Mvc.Versioning 을 추가한다
Install-Package Microsoft.AspNetCore.Mvc.Versioning
2. Startup.cs 의 ConfigureServices()에 아래를 추가한다
Startup.cs
public void ConfigureServices(IServiceCollection services) { // ApiVersioning을 추가 services.AddApiVersioning(options => { // 클라이언트에 Api 버전을 통지 options.ReportApiVersions = true; // 이것이 없으면 클라이언트 측에서 에러가 나온다 options.AssumeDefaultVersionWhenUnspecified = true; // Api의 default 버전을 1.0으로 설정 options.DefaultApiVersion = new ApiVersion(1, 0); });
services.AddControllers(); } |
3. Controller의 이름 공간 및 함수에 속성을 추가
HomeController.cs
// 지원하고 있는 버전을 추가 [ApiVersion("1.0")] [ApiVersion("2.0")] [Route("v{version:apiVersion}/[controller]")] public class HomeController : Controller { [HttpGet] public string Get() => "v1";
// Api 버전을 덮어 쓰기 [HttpGet, MapToApiVersion("2.0")] public string GetV2() => "v2"; } |