在控制器中播放2个非操作方法

问题描述:

如何在播放控制器中创建非操作功能?有没有办法为控制器创建实用程序功能?在控制器中播放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; 
    } 
} 

在Play 1.0中,没有办法区分static void foo()非动作和动作,因此是@Util注释。我的猜测是,根据返回类型,Play 2.0可以区分方法是否为动作,如果您出于任何原因想要在Controller中创建Result返回方法,那么这应该只会让您陷入麻烦中,不是行动。

是的,你可以按照你展示的方式放它。无论如何,我认为该方法更好的地方是User类。

在Play 1.2中,您可以将访问修饰符从public更改为privateThis post说明更多详细信息