【发布时间】:2020-05-26 07:09:42
【问题描述】:
好的,我有一个控制器和两个函数,但是当我尝试在 url 中大摇大摆时,我无法加载 json 文件,但我认为它与多个相同的操作有关
产生错误
获取错误内部服务器错误 /swagger/v1/swagger.json
我试过另一个问题建议的这条线
c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
但是随后从 swagger 文档视图中隐藏了该方法,因此人们将如何测试它们。我在控制器中做错了什么。
public class BmiInformationsController : ControllerBase
{
private readonly AppManagerDBContext _context;
public BmiInformationsController(AppManagerDBContext context)
{
_context = context;
}
[HttpGet]
public async Task<ActionResult<IEnumerable<BmiInformation>>> GetBmiInformation() {
return await _context.BmiInformation.ToListAsync();
}
// GET: api/BmiInformations
[HttpGet]
public async Task<ActionResult<IEnumerable<BmiInformation>>> GetBmiInformationByUserId(string id)
{
return await _context.BmiInformation.Where(w => w.TennentId == new Guid(id)).ToListAsync();
}
}
这就是我配置我的招摇的方式
services.AddSwaggerGen(c => {
c.SwaggerDoc("v1", new OpenApiInfo { Title = "App Manager - Running Buddies", Version = "v1" });
c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme {
Description = "JWT Authorization header using the Bearer scheme.",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.Http,
Scheme = "bearer",
BearerFormat = "JWT"
});
我的启动文件中的路线。
app.UseEndpoints(endpoints => {
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
【问题讨论】:
标签: c# asp.net-core swagger asp.net-web-api2