use*_*271 3 c# asp.net asp.net-web-api
我正在使用自定义过滤器来验证内容类型,例如:
public override void OnActionExecuting(HttpActionContext httpActionContext)
{
List<String> errors = new List<String>();
// a
if (httpActionContext.Request.Content.Headers.ContentType.MediaType == "application/json")
{
}
else
{
errors.Add("Invalid content type.");
}
// more checks
}
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,但验证应该检查请求http动词,因为它应该仅针对put或post验证内容类型.我不想从httpget操作中删除自定义过滤器,因为我内部有更多检查,我不想将过滤器拆分为两部分,这意味着我必须检查过滤器内的http动词,但我可以找不到.
有小费吗?
您可以从中获取方法类型(post或put):
public override void OnActionExecuting(HttpActionContext actionContext)
{
string methodType = actionContext.Request.Method.Method;
if (methodType.ToUpper().Equals("POST")
|| methodType.ToUpper().Equals("PUT"))
{
// Your errors
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5212 次 |
| 最近记录: |