重玩2模块:如何在没有紧密耦合的情况下添加路由



我正在开发一个公开一些 URL 的 Play 2 模块,我想知道如何将这些 URL "提供"给托管我的模块的 Play 应用程序。

示例:假设我的模块(称为store)实现了一个文档存储库,提供(除其他外)URL document/<id>来读取ID为<id>的文档。根据需要,使用此模块的应用程序可能会在 http://example.org/media/document/<id>http://example.org/document/<id> 或其他内容下公开此 URL。

问:模块如何在不对其进行硬编码的情况下向其包含的应用程序公开 URL(路由)?

注意:我来自Django,正在寻找一种类似于Django URLconfs的机制。

您可能询问HTTP路由

请注意,您需要将路由规则放在主conf/routes文件中。它应该在戏剧的第 2.1 版中进行更改。

编辑:

检查 SecureSocial 的示例(也有 Scala 版本),检查到模块的路由如何在 conf/routes 中表示

这在 2.1 中现在受支持,请参阅发行说明中的"允许项目进行更多模块化"部分。好消息!

如果我不是,你想根据某个参数重定向。好吧,您可以形成通用控制器,您可以使用它们

return redirect(routes.Application.XYZ());

以重定向到您想要的位置。

相关内容

最新更新