Scalatra:从另一个Servlet生成反向路由 用例

Scalatra:从另一个Servlet生成反向路由 用例,scala,routing,scalatra,Scala,Routing,Scalatra,我正在编写一个简单的RESTAPI来评估Scalatra是否满足我的需要。我有两个控制器(servlet?),安装在ScalatraBootstrap中的/items/*和/categories/*。我希望GET请求/items/1返回如下内容: { "name": "item1", "category": { "url": "/categories/1" } } 我找不到生成/categories/1的方法。中的最后一节看起来像我需要的,只是它没有描述跨servl

我正在编写一个简单的RESTAPI来评估Scalatra是否满足我的需要。我有两个控制器(servlet?),安装在
ScalatraBootstrap
中的
/items/*
/categories/*
。我希望
GET
请求
/items/1
返回如下内容:

{
   "name": "item1",
   "category": {
     "url": "/categories/1"
   }
}
我找不到生成
/categories/1
的方法。中的最后一节看起来像我需要的,只是它没有描述跨servlet使用功能的方法

我试过的
  • 为负责
    /categories
    的servlet创建了一个伴随对象,并尝试从此处使用
    路由。我得到了一个异常消息
    requirement failed:routeBasePath要求初始化servlet
    。这让我相信,有一些概念上的限制阻止了这种使用,但是文档说,
    ScalateUrlGeneratorSupport
    做的甚至不止这些。我很困惑
  • 复制粘贴已删除的特征,将其混合到
    items
    servlet中,尝试根据路由名称获取路由。结果异常:
    scala.runtime.BoxedUnit无法强制转换为org.scalatra.Route
明确问题:有没有一种方法可以从一个servlet使用命名的
路由
,在另一个servlet中生成URL


(请随意更正我的术语,我刚从Python王国来到这里)

+1。你找到解决方案了吗?没有,我最终手动生成了URL字符串。谢谢你的回复!