自定义路由属性

本文关键字:属性 路由 自定义 | 更新日期: 2023-09-27 18:01:59

我想为路由中的一个参数创建一个自定义属性。我不能使用"ParameterBindingAttribute"

在"Do something"之前,我想验证参数myVar

如何做到这一点?

[Route("{myVar}/TOTO")]
public IHttpActionResult Get([myAttribute]int myVar)
{
    //Do something
}

谢谢

自定义路由属性

你可以写一个动作过滤器来检查这些值。

[VerifyMyVar]
public IHttpActionResult Get(int myVar)
{
    // TODO
}
public class VerifyMyVar : HttpActionFilterAttribute
{
    ...
}

如果你想要更具体的验证,你可以让过滤器检查MethodInfo,并使用[myAttribute]中的代码做一些更具体的事情。