[Route("[controller]")]
改为 [Route("[controller]/[action]")]
。试一下这个;
[HttpGet("GetWeatherForecast")]
public IEnumerable<WeatherForecast> Get()
{
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
[HttpGet("GetNumberOfForecasts/{amount}")]
public IEnumerable<WeatherForecast> GetAmount(int amount)
{
return Enumerable.Range(1, amount).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
仅供将来参考。
步骤1:-> 打开您的开发工具,或者只需按F12键。
Then open the network tab, and refresh your page.
步骤 2:> 点击 swagger 调用并点击响应选项卡。
您将看到以下错误:
Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException:WebApplication1.Controllers.WeatherForecastController.Get (WebApplication1),WebApplication1.Controllers.WeatherForecastController.GetAmount (WebApplication1) 的方法/路径组合冲突 "GET WeatherForecast"。 Swagger/OpenAPI 3.0 需要一个唯一的方法/路径组合。使用 ConflictingActionsResolver 作为解决方法。
尝试像这样进行路由
结果
Name
。移除占位符并只使用字符串构造函数,或者使用Template
占位符。但要注意参数amount
。如果你不将其插入模板中,你只能通过查询字符串传递它。 - Alielson Piffer