我正在使用Spring Boot 1.5.3,Spring Data REST,HATEOAS,Hibernate。在我的模型中,有时会使用如下枚举:
public enum Roles { ROLE_ADMIN, ROLE_USER, ROLE_MANAGER, ROLE_TECH }
根据Spring Boot 文档,有一个似乎有用的属性:
# DATA REST (RepositoryRestProperties) spring.data.rest.enable-enum-translation=true
我没有找到有关如何使用它的文档。我发现旧的参考文献似乎应该添加以下内容:
roles.role_admin=Amministratore
在我的messages.properties中。那会很酷,但是不起作用,我的REST回复包含类中显示的枚举值,没有任何翻译。有人可以向我解释使用Spring的此功能的正确方法吗?
要使用此功能,您必须向项目的“资源”文件夹中添加“剩余消息”资源束。然后像下面这样在这些文件中描述您的枚举:
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
然后,您将得到如下内容:
"_links": { "user": { "href": "http://localhost:8080/api/users/1", "title": "Utente" } } "users": { "href": "http://localhost:8080/api/users{?page,size,sort}", "templated": true, "title": "Lista utenti" }
也有点点信息中关于这一问题的SDR参考。
请参阅Restbucks示例。