代码之家  ›  专栏  ›  技术社区  ›  Arkadi

从swagger UI中排除特定的Web Api端点

  •  0
  • Arkadi  · 技术社区  · 4 年前

    我正在使用asp的大摇大摆用户界面。net核心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} 对于特定的控制器,实现这一点的最佳方法是什么?

    1 回复  |  直到 4 年前
        1
  •  1
  •   Ajay Gupta    4 年前

    可以向控制器和操作添加以下属性,以将其从生成的文档中排除: [ApiExplorerSettings(IgnoreApi=true)

    推荐文章