3

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

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

问题:一个模块如何在不硬编码的情况下将 URL(路由)暴露给其包含的应用程序?

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

4

3 回答 3

3

您可能会询问有关HTTP 路由的问题

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

编辑:

查看SecureSocial 示例(还有 Scala 版本)的示例,检查到模块的路由在conf/routes中的表示方式

于 2012-06-28T12:42:33.063 回答
3

现在 2.1 支持此功能,请参阅发行说明中的​​“允许对您的项目进行更多模块化”部分。好消息!

于 2013-02-04T10:12:26.030 回答
2

如果我不是你想基于某些参数重定向。那么你可以形成通用控制器,你可以使用它们

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

重定向到你想要的地方。

于 2013-02-24T10:50:33.277 回答