MVC6

5
でRouteConstraintsを登録する方法

以前のMVCのバージョンでRouteConstraintsを作成する方法について数多くのチュートリアルがあります。MVC6

方法MVC6と、この作業は、特に登録んがカスタムルートの制約があるため、ApiControllerアクションの属性で使用できますか?

私は実際には必ず空でないGUIDはアクションGETのパラメータとして使用されますNonEmptyGuidというカスタムルート制約、作成されました:

public class NonEmptyGuid : IRouteConstraint 
{ 
    public bool Match(HttpContext httpContext, IRouter route, string routeKey, IDictionary<string, object> values, RouteDirection routeDirection) 
    { 
     if (!values.ContainsKey(routeKey)) return false; 

     if (values[routeKey].ToString().Equals(Guid.Empty.ToString())) return false; 

     return true; 
    } 
} 

を質問: 方法をMVC6アプリケーション(この場合はWebApiプロジェクト)のカスタムRouteConstraintはどこに登録されますか?

答えて

0

あなたの制約を登録するRouteOptionsを使用することができます。

services.Configure<RouteOptions>(options => 
           options 
           .ConstraintMap 
           .Add("test", typeof(TestRouteConstraint))); 
関連する問題