.net core 如何使用.NET Core在swagger文档中识别公共控制器

.net core 如何使用.NET Core在swagger文档中识别公共控制器,.net-core,swagger,.net Core,Swagger,我正在记录我的网络核心web API,并将其与Swagger集成。 我有一个控制器,它有两个方法,一个是public(GetEmpresas),另一个是需要使用JWT令牌进行授权(GetEmpresa),正如您在[Authorize]标记中看到的: [Route("OhmioApi/[controller]")] [Produces("application/json")] public class ActivityController : BaseCon

我正在记录我的网络核心web API,并将其与Swagger集成。 我有一个控制器,它有两个方法,一个是public(GetEmpresas),另一个是需要使用JWT令牌进行授权(GetEmpresa),正如您在[Authorize]标记中看到的:

[Route("OhmioApi/[controller]")]
[Produces("application/json")]
public class ActivityController : BaseController
{
    private readonly IEmpresasService service;

    public ActivityController(ISecurityService securityService, IEmpresasService service, IMapper mapper)
        : base(securityService, mapper)
    {
        this.service = service;            
    }

    /// <summary>
    /// Obtener listado de Empresas disponibles para el cliente ID
    /// </summary> 
    /// <remarks>Metodo público sin TOKEN</remarks>                    
    [HttpGet]
    [ProducesResponseType(StatusCodes.Status200OK, Type = typeof(IEnumerable<EmpresasBase_model>))]
    [ProducesResponseType(StatusCodes.Status404NotFound)]
    public async Task<IActionResult> GetEmpresas([FromQuery][Required] string clientId)
    {
        var empresas = await service.GetEmpresas(clientId);

        return new ObjectResult(empresas);
    }

    /// <summary>
    /// Obtener los detalles de una empresa
    /// </summary> 
    /// <remarks>Metodo privado con TOKEN</remarks>            
    [Authorize]
    [HttpGet("{empresaId}")]
    [ProducesResponseType(StatusCodes.Status200OK, Type = typeof(Empresas_model))]
    [ProducesResponseType(StatusCodes.Status401Unauthorized)]
    public async Task<IActionResult> GetEmpresa([FromRoute][Required] string empresaId)
    {
        var empresa = await service.GetEmpresa(empresaId);

        return new ObjectResult(empresa);
    }
}
[路由(“OhmioApi/[控制器]”)]
[产生(“应用程序/json”)]
公共类ActivityController:BaseController
{
私有只读IEmpresasService服务;
公共活动控制器(ISecurityService安全服务、IEmpresasService服务、IMapper映射器)
:base(安全服务,映射器)
{
服务=服务;
}
/// 
///客户ID相关争议的获得者名单
///  
///梅托多·普布利科罪恶代币
[HttpGet]
[产品响应类型(StatusCodes.Status200OK,Type=typeof(IEnumerable))]
[产品响应类型(StatusCodes.Status404NotFound)]
公共异步任务GetEmpresas([FromQuery][Required]字符串clientId)
{
var empresas=await service.GetEmpresas(clientId);
返回新的ObjectResult(empresas);
}
/// 
///埃姆普雷萨酒店
///  
///梅托多私人代币
[授权]
[HttpGet(“{empresaId}”)]
[产品响应类型(StatusCodes.Status200OK,Type=typeof(Empresas_型号))]
[产品响应类型(StatusCodes.Status401Unauthorized)]
公共异步任务GetEmpresa([FromRoute][Required]字符串empresaId)
{
var empresa=await service.GetEmpresa(empresaId);
返回新的ObjectResult(empresa);
}
}
现在,在Swagger上,两个端点都显示为安全的(使用挂锁):


所以我的问题是,我如何告诉斯威格哪些端点需要授权,哪些不需要授权?

这似乎是出于设计,这里有一个类似的对话:这个IOperationFilter可能会有帮助,但我不确定UI如何呈现它:谢谢,我会研究它