相关疑难解决方法(0)

在文档中对API方法进行分组 - 是否存在一些自定义属性

我有控制器喜欢

public class UserController : ApiController
{
  [Route("api/user")]
  IHttpActionResult GetUser() { ... }
}

public class ResumeController : ApiController
{
  [Route("api/user/resumes")]
  IHttpActionResult GetResumes() { ... }
}
Run Code Online (Sandbox Code Playgroud)

在swagger上产生的输出就像 在此输入图像描述

有没有办法(除了通过推出自己ISwaggerProvider或将两个控制器合并为一个来覆盖默认实现)来强制执行组名?就像是

public class UserController : ApiController
{
  [Route("api/user")]
  [MagicalAttributeName(Group="User")]
  IHttpActionResult GetUser() { ... }
}

public class ResumeController : ApiController
{
  [Route("api/user/resumes")]
  [MagicalAttributeName(Group="User")]
  IHttpActionResult GetResumes() { ... }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api swagger-ui swashbuckle

15
推荐指数
2
解决办法
9295
查看次数

ASP.NET Core 6 - 从 swagger 资源管理器中隐藏最小 API 端点

我有一个需要使用最少 API 的实现。但不知何故,无法将其从 swagger API 浏览器中排除。在 MVC 控制器方法中,我们可以使用 隐藏端点[ApiExplorerSettings(IgnoreApi=true)],但对于最小 API 来说并非如此。

代码:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("api/v1/endpoint_a", () => { ... });

// Hide this from Swagger API explorer
app.MapGet("api/v1/endpoint_b", () => { ... });
Run Code Online (Sandbox Code Playgroud)

将属性放入端点是有效的,但不起作用。

代码:

app.MapGet("api/v1/endpoint_b", [ApiExplorerSettings(IgnoreApi=true)]() => { ... });
Run Code Online (Sandbox Code Playgroud)

知道我在这里缺少什么吗?

asp.net swagger

4
推荐指数
1
解决办法
4978
查看次数

标签 统计

asp.net ×1

asp.net-web-api ×1

c# ×1

swagger ×1

swagger-ui ×1

swashbuckle ×1