首页 > 解决方案 > 如何在 Web API 中全局设置 HttpPost 属性?

问题描述

我正在开发一个现有的 Web API,我需要在其中使所有操作都基于 HttpPost。为了实现这一点,我正在使用这样的配置。

config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "{controller}/{action}",
                defaults: new { id = RouteParameter.Optional },
                constraints: new { httpMethod= new HttpMethodConstraint(HttpMethod.Post) }
            );

但这不适用于名称带有“Get”的操作。但是当我像这样使用 [HttpPost] 属性装饰动作时,它工作正常

[HttpPost]
public IHttpActionResult GetUserByName()

有很多这样的动作,我想避免用 [HttpPost] 属性装饰每个动作。有没有办法在全局范围内设置 [HttpPost] 属性?

标签: asp.net-web-apiasp.net-web-api2asp.net-web-api-routing

解决方案


推荐阅读