Class LongestFirstRouteResolver

  • All Implemented Interfaces:
    RouteResolver

    public class LongestFirstRouteResolver
    extends Object
    implements RouteResolver
    A route resolver which using the longest route to match from the existing routes.
    • Constructor Detail

      • LongestFirstRouteResolver

        public LongestFirstRouteResolver()
    • Method Detail

      • resolve

        public String resolve​(Set<String> routes,
                              String target)
        Algorithm: using the longest route to match from the existing routes.

        e.g. if request route is "/my-service/api/test" , it will try below mapping one by one, If no matching found, use "*"

        1. "my-service/api/test"
        2. "my-service/api"
        3. "my-service"
        Specified by:
        resolve in interface RouteResolver
        Parameters:
        routes - all the existing routes in cranker
        target - requests uri path, e.g. /my-service/api
        Returns:
        route