如何拒绝除 GET 请求之外的所有请求

How can I reject all request except GET request

我正在构建 .NET 5 WebAPI。

我需要一个过滤器或策略来拒绝除 GET 之外的所有动词,即使路由和动词匹配也是如此。

我可以在 Startup class 中执行此操作吗?

使用 MapWhen 你可以根据谓词进行分支:

app.MapWhen(context => !context.Request.Method.Equals("GET", StringComparison.InvariantCultureIgnoreCase),
  (IApplicationBuilder builder) =>  
  {  
    builder.Run(async context =>  
    {  
      await Task.FromResult(context.Response.StatusCode = StatusCodes.Status406NotAcceptable);  
    });  
  });