【问题标题】:Exclude particular Web Api endpoint from the swagger UI从 swagger UI 中排除特定的 Web Api 端点
【发布时间】:2022-02-06 15:13:23
【问题描述】:

我将 Swagger UI 与 asp.net core web api 一起使用。对于我的CRUD 操作,我有一个基本控制器类,它定义了抽象方法:

public class BaseController<TDto, TEntity>
{
    [HttpPost, Route("create-single")]
    public abstract Task<ObjectResult> CreateAsync(TDto input);

    [HttpPost, Route("create-many")]
    public abstract Task<ObjectResult> CreateManyAsync(IList<TDto> input);

    [HttpGet, Route("get-all")]
    public abstract Task<ObjectResult> GetAllAsync();

    [HttpGet, Route("get/{id}")]
    public abstract Task<ObjectResult> GetByIdAsync(Guid id);

    ...
    ...
}

一些控制器可能不需要所有的 CRUD 方法,我需要从大摇大摆中消失这些端点。

例如,我需要为特定控制器消失 /get/{id} 端点,实现此目的的最佳方法是什么?

【问题讨论】:

    标签: c# asp.net-core asp.net-web-api swagger-ui webapi


    【解决方案1】:

    您可以将以下属性添加到 Controllers 和 Actions 以将它们从生成的文档中排除:[ApiExplorerSettings(IgnoreApi = true)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      相关资源
      最近更新 更多