任何不以配置的METHOD前缀开头的ASP.NET WebAPI2 ApiController
方法名称(默认为Get...
,Post...
,Put...
,Delete...
,Head...
,Options...
和Patch...
)将匹配HTTP' POST'。 (有关详细信息,请参阅Is there a default verb applied to a Web API ApiController method?。)
按照惯例,我宁愿选择加入每种方法,而不是选择退出。
对我来说,选择退出方法代表了更大的安全风险,并且没有任何有用的回报;为了保持一致性,为了支持POST,实现者应该在类方法Post...
之前加上前缀。例如,名为SensitiveFunction()的ApiController
方法不应与任何 HTTP方法匹配,除非我有意配置对“敏感”的支持。 HTTP方法。
是否有一个简单的配置更改,允许我禁用此POST后备政策?
或者,我是否忽略了一些我需要这种后备政策的原因?
答案 0 :(得分:0)
默认操作选择仅查找公共实例方法。通过公开您的方法,您可以有效地选择"选择"。适当地限制您的方法只使用通过API接口看作公共和其他所有私有的方法。
http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-and-action-selection
考虑控制器上的哪些方法"操作"?选择操作时,框架仅查看控制器上的公共实例方法。此外,它不包括"特殊名称"方法(构造函数,事件,运算符重载等),以及从ApiController类继承的方法。