0

如何在 Play 2 控制器上创建非动作函数?有什么方法可以为控制器创建实用程序功能吗?

public class Register extends Controller {
  @BodyParser.Of(BodyParser.FormUrlEncoded.class)
  public static Result registerByForm() {
      .......

  }

  // this is utility function
  private static User getFacebookIdByToken(String fbToken) {
     FacebookClient facebookClient = new DefaultFacebookClient(fbToken);
     User user = facebookClient.fetchObject("me", User.class);
     return user;
  }
}
4

3 回答 3

3

是的,您可以按照您展示的方式进行说明。无论如何,我认为该方法更好的地方是User课堂。

于 2012-06-01T08:45:48.973 回答
2

在 Play 1.0 中,无法区分static void foo()非动作和动作,因此使用了@Util注解。我的猜测是 Play 2.0 可以根据返回类型来区分方法是否是动作,如果您出于某种原因想要ResultController不是一种行为。

于 2012-06-01T11:37:16.290 回答
-1

在 Play 1.2 中,您可以将访问修饰符从public更改为private这篇文章解释了更多细节

于 2014-03-25T12:59:08.197 回答