use*_*634 4 swagger asp.net-core
我是 swagger 的新手,并安装并运行了它,但它获取的 API 文件比预期的要多得多。我一直在寻找一种方法来指定记录了哪些 API。
您可以将 ApiExplorerSettings 属性放在控制器上以将其从 Swagger 中删除:
[ApiExplorerSettings(IgnoreApi = true)]
public class TestApiController : ControllerBase
{
}
Run Code Online (Sandbox Code Playgroud)
如果您想基于某些逻辑将其应用于许多控制器,则可以使用操作模型约定来完成:https : //github.com/juunas11/AspNetCoreHideRoutesFromSwagger/blob/983bad788755b4a81d2cce30f82bc28887b61924/SecondaggersControllersFromSwaggers #L18-L28
public class ActionHidingConvention : IActionModelConvention
{
public void Apply(ActionModel action)
{
// Replace with any logic you want
if (action.Controller.ControllerName == "Second")
{
action.ApiExplorer.IsVisible = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
该约定添加在 ConfigureServices 中,例如:
services.AddControllers(o =>
{
o.Conventions.Add(new ActionHidingConvention());
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
606 次 |
最近记录: |