外键不显示在GET请求中的spring boot

我正在做GET请求 “apiadmintickets”。我没有得到userId的响应。我已经检查了数据库,userId是存在的。在实体 “Ticket “中,userId应该作为一个外键。我不知道为什么我不能在响应中看到外键。我试图在User和Ticket之间建立一对多的关系。

TicketController.java

@RestController
@RequestMapping("/api")
@CrossOrigin(origins = Constants.ORIGIN)
public class TicketController {

    @Autowired
    private TicketRepository ticketRepository;

    @GetMapping("/admin/tickets")
    public Page<Ticket> getAllTickets(Pageable pageable) throws ResourceNotFoundException{
        return ticketRepository.findAll(pageable);
    }
}

用户.java

@Entity
public class User extends AuditModel {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;


    @Column(nullable = false)
    private String businessUnit;

    @Column(nullable = false)
    private String title;

    public User() {
    }

    // constructor with fields
    // getters and setters

}

票据.java

@Entity
public class Ticket extends AuditModel {
    @Id
    @Column(name = "ticketId")
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

    @ManyToOne(fetch = FetchType.LAZY, optional = false)
    @JoinColumn(name = "userId", nullable = false)
    @OnDelete(action = OnDeleteAction.CASCADE)
    @JsonIgnore
    private User user;

    public Ticket() {
        super();
    }

    public Ticket(int id) {
        super();
        this.id = id;
    }

    public int getId() {
        return id;
    }


    public void setId(int id) {
        this.id = id;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
}

TicketRepository.java

@Repository
public interface TicketRepository extends JpaRepository<Ticket, Integer>{

    Page<Ticket> findByUserId(Integer userId, Pageable pageable);
    Optional<Ticket> findByIdAndUserId(Integer ticketId, Integer userId);

}

解决方案:

你注释了 User 领域中 Ticket 类与 @JsonIgnore,这就防止了 User 的数据被包含在GET响应中。

第二个问题可能是你加载了 User 领域懒于使用 FetchType.LAZY. 这也可能阻止数据被包含在GET响应中。

给TA打赏
共{{data.count}}人
人已打赏
未分类

在flutter中实现Dialog来过滤列表。

2022-9-16 21:38:22

未分类

用分组法对两列进行划分

2022-9-16 21:38:24

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索