【问题标题】:asp.net Core mvc hide and exclude Web Api Controller Methodasp.net Core mvc 隐藏和排除 Web Api 控制器方法
【发布时间】:2017-11-16 11:36:05
【问题描述】:

我知道有 ApiExplorerSettings 属性

[ApiExplorerSettings(IgnoreApi = true)]
public async Task<IActionResult> MyMethod(int id)

但这并不能阻止 api 的客户端调用端点方法。

我需要知道是否存在禁用端点并且不允许请求的属性。我想通过修改路由机制来避免这样做。

【问题讨论】:

    标签: c# asp.net-core asp.net-core-mvc


    【解决方案1】:

    最简单的 MVC 方法可能是使用 NonAction 属性,如下所示:

    [ApiExplorerSettings(IgnoreApi = true)]
    [NonAction]
    public async Task<IActionResult> MyMethod(int id)
    

    另一种选择是将方法的访问修饰符从 public 更改为例如private 效果相同。

    如果您想排除整个控制器,可以使用NonController 属性:

    [NonController]
    public class MyController : ControllerBase
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 2020-10-31
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-01
      相关资源
      最近更新 更多