isaacmsl / bora-pagar

Projeto desenvolvido por alunos do IMD - UFRN para alunos da UFRN.
https://bora-pagar.onrender.com
18 stars 3 forks source link

(bug) Subject find all not showing interestedUsers #72

Closed isaacmsl closed 9 months ago

isaacmsl commented 9 months ago

Descrição do bug

Ao buscar as disciplinas na rota de /subjects/findAll (paginado), os usuários interessados não aparecem.

Como reproduzir

Passo a passo:

  1. Rode o backend (assegure que tenha uma disciplina com um usuário relacionado)
  2. Requisite http://localhost:8080/subjects/findAll

O que é esperado

A disciplina com o usuário relacionado não mostra esse usuário. Ao invés disso mostra [ null ]. Deveria mostrar o usuário.

Screenshots

image

Conteúdo adicional

Algum problema está acontecendo com a paginação e o @DBRef da lista de usuários no SubjectModel pois o forceFindAll de desenvolvedores mostra corretamente os usuários.

isaacmsl commented 9 months ago

Acho que a paginação não está conseguindo serializar os usuários de acordo com os ids presentes.

isaacmsl commented 9 months ago

O que acontecia é que a prioridade de "serialização" foi dada para o Subject com os seus dados simples. A lista de usuário precisava ser carregada a posteriori com a estratégia de busca lazy.

DBRefs can also be resolved lazily. In this case the actual Object or Collection of references is resolved on first access of the property. Use the lazy attribute of @DBRef to specify this. Required properties that are also defined as lazy loading DBRef and used as constructor arguments are also decorated with the lazy loading proxy making sure to put as little pressure on the database and network as possible.

Referência: https://docs.spring.io/spring-data/mongodb/docs/current-SNAPSHOT/reference/html/#reference