Play应用程序中的内部路线

时间:2016-01-26 23:41:52

标签: scala playframework routes

想象一下,我的Play应用程序中有一条返回一些JSON的路径:

GET    /getjson    controllers.someMethod()

我希望这个路由可以在我的应用程序中使用,因为我想调用它来获取它返回的JSON并用它做一些事情。 但是,我不希望它从外面获得。我不希望http://mywebsite.com/getjson回复访问我网站的客户。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

您在路由(controller层)中定义的任何内容都将作为RESTFUL端点提供给其他服务。

对于您的情况,您可以简单地将someMethod()作为service图层的方法。无需将其放在controller图层。

答案 1 :(得分:1)

首先,从conf

中删除以下路由项
GET    /getjson    controllers.someMethod()

其次,创建另一个对象,其定义与controllers.someMethod()相同,但不能从Controller扩展

最后,删除" controllers.someMethod()"的定义。

然后,someMethod()的重新定义只在内部可用,但不能从外部调用,这意味着" / getjson"网址不可用,无法访问。

祝你好运。