Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带查询字符串的Restlet路由_Java_Restlet - Fatal编程技术网

Java 带查询字符串的Restlet路由

Java 带查询字符串的Restlet路由,java,restlet,Java,Restlet,我有一个当前路由如下的资源: router.attach("/{version}/content/{language}", ContentResource.class); router.attach("/{version}/content/{language}?segment={segment}", ContentResource.class); 我想向该资源添加一个查询字符串,该字符串如下所示: router.attach("/{version}/content/{language}",

我有一个当前路由如下的资源:

router.attach("/{version}/content/{language}", ContentResource.class);
router.attach("/{version}/content/{language}?segment={segment}", ContentResource.class);
我想向该资源添加一个查询字符串,该字符串如下所示:

router.attach("/{version}/content/{language}", ContentResource.class);
router.attach("/{version}/content/{language}?segment={segment}", ContentResource.class);
问题是,当我试图通过路由到达资源时,我没能进入它


有人能解释一下原因和解决方法吗?

您不必在路由定义级别指定查询参数。如果要使用名为
segment
的查询参数,请执行以下操作:

  • 路由定义

    router.attach("/{version}/content/{language}", ContentResource.class);
    
  • 获取查询参数值

    public class ContentResource extends ServerResource {
        String value = getQueryValue("segment");
        (...)
    }
    
希望它能帮助你,
Thierry

您不必在路由定义级别指定查询参数。如果要使用名为
segment
的查询参数,请执行以下操作:

  • 路由定义

    router.attach("/{version}/content/{language}", ContentResource.class);
    
  • 获取查询参数值

    public class ContentResource extends ServerResource {
        String value = getQueryValue("segment");
        (...)
    }
    
希望它能帮助你,
Thierry

您不必在路由定义级别指定查询参数。如果要使用名为
segment
的查询参数,请执行以下操作:

  • 路由定义

    router.attach("/{version}/content/{language}", ContentResource.class);
    
  • 获取查询参数值

    public class ContentResource extends ServerResource {
        String value = getQueryValue("segment");
        (...)
    }
    
希望它能帮助你,
Thierry

您不必在路由定义级别指定查询参数。如果要使用名为
segment
的查询参数,请执行以下操作:

  • 路由定义

    router.attach("/{version}/content/{language}", ContentResource.class);
    
  • 获取查询参数值

    public class ContentResource extends ServerResource {
        String value = getQueryValue("segment");
        (...)
    }
    
希望它能帮助你,
Thierry

您应该定义路由行为:

TemplateRoute myRoute = router.attach("/{version}/content/{language}?segment={segment}", ContentResource.class);
myRoute.setMatchingQuery(true);

应定义管线行为:

TemplateRoute myRoute = router.attach("/{version}/content/{language}?segment={segment}", ContentResource.class);
myRoute.setMatchingQuery(true);

应定义管线行为:

TemplateRoute myRoute = router.attach("/{version}/content/{language}?segment={segment}", ContentResource.class);
myRoute.setMatchingQuery(true);

应定义管线行为:

TemplateRoute myRoute = router.attach("/{version}/content/{language}?segment={segment}", ContentResource.class);
myRoute.setMatchingQuery(true);