Создайте версию пользовательского интерфейса swagger для контроллера и действия с помощью core 3.1
привет,
Я попробовал управление версиями пользовательского интерфейса swagger с помощью .net core 3.1 с API 2.0. я завершил этот сценарий до уровня контроллера. но я не знаю, как сделать это управление версиями для действий контроллера...кто-нибудь, пожалуйста, помогите мне в этом, я боролся последние 3 дня над этим. помоги мне решить эту проблему......
Что я уже пробовал:
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddApiVersioning(o => { o.AssumeDefaultVersionWhenUnspecified = true; o.DefaultApiVersion = new ApiVersion(3, 0); }); // Add this services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new OpenApiInfo { Version = "v1", Title = "v1 API", Description = "v1 API Description", }); // Add a SwaggerDoc for v2 options.SwaggerDoc("v2", new OpenApiInfo { Version = "v2", Title = "v2 API", Description = "v2 API Description" }); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint($"/swagger/v1/swagger.json", $"v1"); c.SwaggerEndpoint($"/swagger/v2/swagger.json", $"v2"); c.DefaultModelExpandDepth(0); // Hide Models section in swagger UI c.DefaultModelsExpandDepth(-1); });
}
[Route("api/v{version:ApiVersion}/[controller]")] [ApiController] [ApiVersion("1.0")] [ApiVersion("2.0")] public partial class xxxController : ControllerBase { private readonly IxxxDomainService _xxxService; private readonly IMapper _mapper; public xxxController(IxxxService studprofService, IMapper mapper) { this._mapper = mapper; this._xxxService = xxxService; } [ActionName("GetAll")] [HttpGet("{InstitutionProgAssocId}/{ProgApSpAssocId}")] public async Task<List<XXXDTO>> GetAllXXX(int XXXProgAssocId, int ProgApSpAssocId) { return await _XXXService.GetAllXXX(XXXAssocId, ProgApSpAssocId); }
Gerry Schmitz
Жизнь достаточно трудна на переднем крае без сторонних продуктов с претенциозными названиями.