var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCors();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddControllers();
//builder.Services.Configure ...
//builder.Services.AddTransient ...
builder.Logging.ClearProviders();
builder.Services.AddLogging();
builder.Host.UseNLog();
builder.Services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v2", new OpenApiInfo
{
Version = "v2",
Title = "Company.IntegrationWebApi",
Description = "Company: Интеграция"
});
options.EnableAnnotations();
var xmlFilename = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename));
}
);
var app = builder.Build();
app.UseStaticFiles();
app.UseSwagger(
opt => {
opt.SerializeAsV2 = true;
}
);
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("../swagger/v2/swagger.json", "Company.IntegrationWebApi");
c.RoutePrefix = "swagger";
});
app.UseAuthorization();
app.MapDefaultControllerRoute();
app.MapGet("/", () => "Company.IntegrationWebApi");
app.MapControllers();
app.Run();
Код контроллера. Проблема наблюдается на всех методах
// <summary>
/// Получить данные о клиенте по номеру телефона.
/// </summary>
/// <param name="phoneNumber_">Номер телефона клиента. Формат: 11 цифр, первая цирфа - 7 </param>
/// <returns></returns>
[HttpGet("ClientData/phoneNumber={phoneNumber_}")]
[Produces("application/json")]
[ProducesResponseType(typeof(CompanyClientByPhoneResponse), (int)HttpStatusCode.OK)]
[SwaggerResponse((int)HttpStatusCode.BadRequest, "Запрос сформирован некорректно(например формат телефона)")]
[SwaggerResponse((int)HttpStatusCode.InternalServerError, "Внутренняя ошибка")]
[SwaggerResponse((int)HttpStatusCode.NoContent, "Клиент не найден")]
public IActionResult ClientDataByANI(string phoneNumber_)
{
//..
}
Либы и версии:
<ItemGroup>
<PackageReference Include="NLog" Version="5.4.0" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.4.0" />
<PackageReference Include="NLog.Targets.GraylogHttp" Version="2.0.1" />
<PackageReference Include="NLog.Web.AspNetCore" Version="5.4.0" />
<PackageReference Include="Swashbuckle" Version="5.6.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="8.1.0" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="8.1.0" />
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="8.1.0" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="8.1.0" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="8.1.0" />
</ItemGroup>
И собственно, возвращается следующая ошибка, при попытке передать номер телефона

Приложение - .Net 8.0
При этом к EndPoint'у через браузер обращения идут нормально. Именно SwaggerUI почему-то не может корректно передать значение. А передаёт шаблон {phoneNumber_}
Кто опытный, подскажите, почему swaggerUI чудит