我有一个 ASP.NET Core 3.1 API,我正在为我的一个控制器引入新版本。我正在使用Microsoft.AspNetCore.Mvc.Versioning NuGet 包,并且已将新版本设置为默认版本。我的所有其他控制器都应适用于旧版本(1.0)和新版本(1.1)。
例如:
[ApiVersion("1.0", Deprecated = true)]
public class MySampleController
{
}
[ApiVersion("1.1")]
public class MyNewSampleController
{
}
[ApiVersion("1.0", Deprecated = true)]
[ApiVersion("1.1")]
public class AllOtherController
{
}
Run Code Online (Sandbox Code Playgroud)
问题:
我真的必须将所有版本添加到所有控制器吗?
有更好/正确的方法来处理这个问题吗?
我尝试使用 [ApiVersionNeutral] 但这似乎不正确,根据文档,应该只在特殊情况下使用。如果我不添加 [ApiVersion] 属性,则默认为新的 1.1 版本,1.0 不再有效。
由于这是我的第一个问题,我希望它符合指导方针:)
c# api-versioning asp.net-core asp.net-core-webapi asp.net-core-3.1