如何将Enum绑定到路由静态参数

Rob*_*e W 5 java playframework

如何将模型中的枚举绑定到路径定义中的静态参数?

示例(组成):

模型:

class User (..)
{
    public static enum TYPES { Default, Admin, Editor, Visitor }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

class Users (..)
{
    public static void create(long parentUserId, User.TYPES type)
    {
       (..)
    }
}
Run Code Online (Sandbox Code Playgroud)

路线:

GET     /user/{parentUserId}/create/editor  Users.create(type:User.TYPES.Editor)
Run Code Online (Sandbox Code Playgroud)

查看模板:

<a href="@{Users.create(user.id, 'Editor')}">create editor</a>
Run Code Online (Sandbox Code Playgroud)

要么

<a href="@{Users.create(user.id, User.TYPES.Editor)}">create editor</a>
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.我该如何设置?

Per*_*ega 1

编辑:我已经在工作环境中对此进行了测试。

以下作品:

模板:

  <a href="@{Application.create(5, models.Game.GameType.Succession.name())}">create editor</a>
Run Code Online (Sandbox Code Playgroud)

路线:

 GET     /user/{parentUserId}/create/{type}/editor  Application.create  
Run Code Online (Sandbox Code Playgroud)

控制器:

  public static void create(long parentUserId, Game.GameType type)
    { ... }
Run Code Online (Sandbox Code Playgroud)

带有预定义参数的路由不起作用:

GET     /user/{parentUserId}/editor  Application.create(type:models.Game.GameType.Succession.name())
Run Code Online (Sandbox Code Playgroud)

它将始终设置typenull