如何在Spring Data REST中使用spring.data.rest.enable-enum-translation

时间:2017-06-28 10:53:52

标签: spring spring-mvc spring-boot spring-data-rest

我使用的是Spring Boot 1.5.3,Spring Data REST,HATEOAS,Hibernate。 在我的模型中,有时我会使用enum:

    public enum Roles {
    ROLE_ADMIN, ROLE_USER, ROLE_MANAGER, ROLE_TECH
}

根据Spring Boot documentation,有一个似乎有用的属性:

# DATA REST (RepositoryRestProperties)
spring.data.rest.enable-enum-translation=true

我没有找到关于如何使用它的文档。我发现旧的参考文献似乎应该添加类似的内容:

roles.role_admin=Amministratore

在我的messages.properties中。这很酷但它不起作用,我的REST回复包含类似于类中的枚举值,没有任何翻译。 有人能解释一下使用Spring函数的正确方法吗?

1 个答案:

答案 0 :(得分:3)

要使用此功能,您必须添加'其余消息'资源捆绑到您的项目'资源'夹。然后在这些文件中描述您的枚举:

%quote()

如果你有一个嵌套的枚举,你必须加入它们,而父类必须加入' $'签名:

com.example.myproject.myapp.Roles.ROLE_ADMIN=Amministratore
com.example.myproject.myapp.Roles.ROLE_USER=Utente

您可以用同样的方式描述您的链接:

com.example.myproject.myapp.User$Roles.ROLE_ADMIN=Amministratore
com.example.myproject.myapp.User$Roles.ROLE_USER=Utente

然后你得到这样的东西:

_links.user.title=Utente
_links.users.title=Lista utenti

SDR参考中还有little bit info关于此问题。

请参阅Restbucks example