Swagger没有在 UI 和 JSON 中显示参数,即使我的方法有参数,当我添加[FromBody]标签时尤其会发生这种情况
swagger UI 无参数
JSON 文件无参数
操作方法:
[HttpPost("Action")]
public IActionResult Action([FromBody] string message)
{
return Ok(message);
}
我使用带有 API 模板的全新 Asp.net core 3.1和2.2 Web 应用程序来测试它,我将其配置为与文档
ConfigureServices 完全相同:
services.AddMvc();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
}
配置:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
当我使用[FromRoute]&[FromHeader]等其他属性时,它确实有效......我查看了示例,并且 swagger 确实显示了来自 post 方法的参数
我也尝试过这样的对象:
public class Message
{
public int ID { get; set; }
public string body { get; set; }
}
通过此操作:
[HttpPost("Action")]
public IActionResult Action([FromBody] Message message)
{
return Ok(message);
}
相同的结果(无参数),但它确实显示了架构
那么我做错了什么?我怎样才能像示例一样记录帖子参数