java - HashSet Rest模型麻烦Spring

标签 java spring rest

我有一个用户模型。它在我的 Spring Security 中使用,我有一些 HashSet 字段,其中包含我的用户的角色。但现在我尝试设置 REST。当我获得 json 格式的用户对象时,由于这个 HashSet,我也得到了一些无限循环。

我的 Controller :

@RequestMapping(value="/rest/{login}", method = RequestMethod.GET)
    public String getRest(@PathVariable String login, Model model){
        model.addAttribute("user",dao.findByLogin(login));
        return "rest";
    }

小片段:

{
  "user" : {
    "login" : "roman",
    "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
    "email" : "email",
    "enabled" : true,
    "userRole" : [ {
      "roleId" : 1,
      "user" : {
        "login" : "roman",
        "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
        "email" : "email",
        "enabled" : true,
        "userRole" : [ {
          "roleId" : 1,
          "user" : {
            "login" : "roman",
            "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
            "email" : "email",
            "enabled" : true,
            "userRole" : [ {
              "roleId" : 1,
              "user" : {
                "login" : "roman",
                "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
                "email" : "email",
                "enabled" : true,
                "userRole" : [ {
                  "roleId" : 1,
                  "user" : {
                    "login" : "roman",
                    "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
                    "email" : "email",
                    "enabled" : true,
                    "userRole" : [ {
                      "roleId" : 1,
                      "user" : {
                        "login" : "roman",
                        "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
                        "email" : "email",
                        "enabled" : true,
                        "userRole" : [ {
                          "roleId" : 1,
                          "user" : {
                            "login" : "roman",
                            "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
                            "email" : "email",
                            "enabled" : true,
                            "userRole" : [ {
                              "roleId" : 1,
                              "user" : {
                                "login" : "roman",
                                "password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
                                "email" : "email",
                                "enabled" : true,
                                "userRole" : [ {
                                  "roleI ....

在这种情况下我能做什么?

最佳答案

注释 UserRoleuser 属性:

@JsonBackReference

这指示 Jackson 这是一个循环引用,不应遵循。

关于java - HashSet Rest模型麻烦Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27963191/

相关文章:

java - 是否应该使用 HTTP 代码来表示业务失败?

java - 如何在spring-boot中使用具有多个数据库的Mongodb单实例

rest - 击中除索引以外的任何内容时,将使REST 404失效

api - 使用 Security REST 插件保护 REST API 的安全

java - 使用 Java 让 getenv 在 Windows 中工作

java - Spring Cloud Dataflow 将缓冲的消息发送到输出 channel

java - EL表达式只显示在特定的JSP页面上

java - "org.apache.commons.lang.StringEscapeUtils"和 "en dash"

java - 正确更新 dropwizard/jdbi 网络服务中的内存缓存

java - Elasticache Memcached 中 key 的最大长度是多少?