services.AddApiVersioning(o =>{ o.ReportApiVersions = true; o.AssumeDefaultVersionWhenUnspecified = true; o.DefaultApiVersion = new ApiVersion(2, 0); //设置默认版本//在请求头(HTTP Header)中使用版本控制,在查询字符串中指定版本号的方式将不再可用// o.ApiVersionReader = new HeaderApiVersionReader("x-api-version");o.ApiVersionReader = ApiVersionReader.Combine(new QueryStringApiVersionReader(), //同时支持(HTTP Header)中使用版本控制,和查询字符串中指定版本号new HeaderApiVersionReader() { HeaderNames = { "x-api-version" } }); });
using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.Mvc;namespace WebApiVersion.Controllers { [ApiVersion("1.0",Deprecated =true)] [Route("api/values")] [ApiController]public class ValuesV1Controller : ControllerBase { [HttpGet]public IEnumerable<string> Get() {return new string[] { "Value1 from Version 1", "value2 from Version 1" }; } } }
using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.Mvc;namespace WebApiVersion.Controllers { [ApiVersion("2.0")] [Route("api/values")] [ApiController]public class ValuesV2Controller : ControllerBase { [HttpGet]public IEnumerable<string> Get() {return new string[] { "value1 from Version 2", "value2 from Version 2" }; } } }
[ApiVersionNeutral] [Route("api/[controller]")] [ApiController]public class HealthCheckController : ControllerBase {public string Get() {return "Good"; } }
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4