如何从 Play 框架中的 YAML 固定装置加载(静态嵌套)枚举值?
public class Request extends Model {
public static enum Category {
First, Second, Third
}
public Category category;
}
我似乎无法在 YAML 测试装置/初始数据中正确创建带有类别的请求。我尝试过以下方法:
Request(areq):
category: Request.Category.Third
以及其他几种变体。没有什么真正有效。 SnakeYAML 页面 给了我一些诱人的提示,但我不明白如何正确引用我的应用程序的包。正确的语法是什么?
public class Request extends Model {
public static enum Category {
First, Second, Third
}
public Category category;
}
I seem unable to properly create a Request with a Category in my YAML test fixtures / initial data. I've tried things like:
Request(areq):
category: Request.Category.Third
And several other variations. Nothing really works. The SnakeYAML page gives me some tantalizing hints but I don't see how to properly reference my app's packages. What is the right syntax for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为什么不只使用
SnakeYAML 应该识别类别的类型并在对象构造期间将第三个字符串转换为类别枚举的第三个值。
Why don't you use just
SnakeYAML should recognize type of category and convert Third string to Third value of Category enum during object construction.
在Play1.2.x中您还可以使用这种形式:
Fixtures:
对于此模型:
就像您可以在routes和application.conf文件中使用Groovy模板一样,您也可以在yml文件中使用。
In Play1.2.x you can also use this form:
Fixtures:
For this model:
Like you can use Groovy templates in the routes, and application.conf file, you can also use in the yml files.
老实说,我不是一个有经验的用户,但我认为 Request 是一个不好的名字,因为该类存在于 play-framework 中。所以我建议重命名它。但对于你的问题来说,这是没有必要的。使用完整名称,即
models.Request.Category.Third
。To be honest I'm not an experienced user, but I think Request is a bad name, because the class exists in the play-framework. So I would recommend to rename it. But for your problem it's not necessary. Use the complete name, meaning
models.Request.Category.Third
.