在控制器中播放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
类。