如何拒绝除 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);
});
});
我正在构建 .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);
});
});