Olá Matheus
Sim, você pode criar um segundo DTO para a sessão se deseja exibir mais detalhes, como o cinema e o filme. É uma prática comum ter diferentes DTOs para diferentes necessidades de exibição de dados.
Para evitar o loop, você pode usar a anotação JsonIgnore
nas propriedades que não deseja serializar no DTO que será retornado na requisição GET da sessão. Dessa forma, essas propriedades não serão incluídas no JSON retornado e não causarão o loop.
Aqui está um exemplo de como você pode criar um segundo DTO para a sessão:
public class ReadSessaoDetalhadaDto
{
public int Id { get; set; }
public string Cinema { get; set; }
public string Filme { get; set; }
// outras propriedades que você deseja incluir
[JsonIgnore]
public ReadSessaoDto Sessao { get; set; }
}
Nesse exemplo, a propriedade Sessao
do tipo ReadSessaoDto
é marcada com JsonIgnore
, para evitar o loop.
Espero que isso te ajude! Se tiver mais alguma dúvida, estou à disposição. Bons estudos!
Espero ter ajudado e bons estudos!