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);