4
public class Request extends Model {
    public static enum Category {
        First, Second, Third
    }
        public Category category;
}

我似乎无法在我的 YAML 测试装置/初始数据中正确创建具有类别的请求。我试过这样的事情:

Request(areq):
    category: Request.Category.Third

以及其他几个变体。没有什么真正有效。SnakeYAML页面给了我一些诱人的提示,但我不知道如何正确引用我的应用程序包。什么是正确的语法?

4

3 回答 3

5

你为什么不只使用

...
category: Third

SnakeYAML 应该在对象构造期间识别类别的类型并将第三个字符串转换为类别枚举的第三个值。

于 2010-12-15T07:33:33.710 回答
1

在 Play1.2.x 中你也可以使用这种形式:

夹具:

EnumTest(enumtest01):
  status: ${models.EnumTest.Status.ACTIVE}

EnumTest(enumtest02):
  status: ${models.EnumTest.Status.DELETED}

对于这个模型:

@Entity
public class EnumTest extends Model {

    public enum Status {
        ACTIVE, DELETED
    }

    public Status status;

}

就像您可以在路由和 application.conf 文件中使用 Groovy 模板一样,您也可以在 yml 文件中使用。

于 2012-08-01T10:16:48.897 回答
0

老实说,我不是一个有经验的用户,但我认为 Request 是一个坏名字,因为该类存在于 play-framework 中。所以我建议重命名它。但是对于您的问题,没有必要。使用完整的名称,意思是models.Request.Category.Third

于 2010-12-11T10:34:08.303 回答