Nancy.Swagger.Annotations.RouteId.Create C# (CSharp) Méthode

Create() public static méthode

public static Create ( INancyModule module, Nancy.Routing.Route route ) : RouteId
module INancyModule
route Nancy.Routing.Route
Résultat RouteId
        public static RouteId Create(INancyModule module, Route route)
        {
            var routeId = new RouteId { Module = module };

            if (!string.IsNullOrEmpty(route.Description.Name))
            {
                routeId.Name = route.Description.Name;
            }
            else
            {
                routeId.Method = route.Description.Method.ToHttpMethod();
                routeId.Path = route.Description.Path.EnsureForwardSlash();
            }

            return routeId;
        }

Same methods

RouteId::Create ( INancyModule module, RouteAttribute swaggerRouteAttribute ) : RouteId

Usage Example

Exemple #1
0
        private IEnumerable <SwaggerRouteData> ToSwaggerRouteData(INancyModule module)
        {
            Func <IEnumerable <RouteAttribute>, RouteId> getRouteId = (attrs) =>
            {
                return(attrs.Select(attr => RouteId.Create(module, attr))
                       .FirstOrDefault(routeId => routeId.IsValid));
            };

            // Discover route handlers and put them in a Dictionary<RouteId, MethodInfo>
            var routeHandlers =
                module.GetType().GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static)
                .Select(methodInfo => new
            {
                RouteId    = getRouteId(methodInfo.GetCustomAttributes <RouteAttribute>()),
                MethodInfo = methodInfo
            })
                .Where(x => x.RouteId.IsValid)
                .ToDictionary(
                    x => x.RouteId,
                    x => x.MethodInfo
                    );

            return(module.Routes
                   .Select(route => CreateSwaggerRouteData(module, route, routeHandlers)));
        }
All Usage Examples Of Nancy.Swagger.Annotations.RouteId::Create
RouteId