Я использую Asp.Net Core в качестве службы API отдыха.Мне нужно иметь версию API.На самом деле, я установил следующие параметры при запуске, и он работает правильно, но когда я установил версию по умолчанию, на которой он не работает.
services.AddVersionedApiExplorer(
options =>
{
options.GroupNameFormat = "'v'VVV";
options.SubstituteApiVersionInUrl = true;
options.AssumeDefaultVersionWhenUnspecified = true;
options.DefaultApiVersion = new ApiVersion(1, 0);
});
services.AddApiVersioning(
options =>
{
options.ReportApiVersions = true;
options.AssumeDefaultVersionWhenUnspecified = true;
options.DefaultApiVersion = new ApiVersion(1, 0);
})
.AddMvc(
options =>
{
options.RespectBrowserAcceptHeader = true;
})
.AddXmlSerializerFormatters();
и установил атрибут в контроллерах следующим образом: Версия 1:
[ApiController]
[Route("v{version:apiVersion}/[controller]")]
[ApiVersion("1.0")]
public class UsersController : ControllerBase
{
[HttpGet("log")]
public string Get()
{
return $"{DateTime.Now}";
}
}
Версия 2:
[ApiController]
[Route("v{version:apiVersion}/[controller]")]
[ApiVersion("2.0")]
public class UsersController : ControllerBase
{
[HttpGet("log")]
public string Get()
{
return $"{DateTime.Now}";
}
}
Я могу получить результат в виде отображаемых URL:
http://localhost:5000/v1/users/log => Код состояния: 200
http://localhost:5000/v2/users/log => Код состояния: 200
Но http://localhost:5000/users/log => Код состояния: 404
Как настроить API по умолчанию при управлении версиями?
Спасибо всем, что нашли время, чтобы попытаться помочь объяснить