我正在开发一个Play 2 module,它会公开一些网址,并且我想知道如何将这些网址“提供”给托管我模块的Play应用程序。
示例:假设我的模块(名为store
)实现了文档存储库,提供(以及其他)URL document/<id>
以读取标识为{{1}的文档}。根据其需要,使用此模块的应用程序可能会在<id>
下或http://example.org/media/document/<id>
下或其他内容中公开此网址。
问题:模块如何在不对其进行硬编码的情况下将URL(路由)公开给其包含的应用程序?
注意:我来自Django并且正在寻找类似于Django URLconfs的机制。
答案 0 :(得分:3)
您可能会询问HTTP routing
请注意,您需要在主conf/routes
文件中放置路由规则。它应该在Play的版本2.1
中更改。
编辑:
检查sample of SecureSocial(还有Scala版本)的示例,检查conf/routes
中如何表示到模块的路由答案 1 :(得分:3)
2.1现在支持此功能,请参阅release notes中的“允许对项目进行更多模块化”一节。好消息!
答案 2 :(得分:2)
如果我不是你想要基于某些参数重定向。那么你可以形成通用的控制器,你可以使用
return redirect(routes.Application.XYZ());
重定向到您想要的位置。