Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer list items avec jointure de clé primaire

    31 mars 2022 à 18:38:21

    Bonjour nouveau sur spring boot je peine un peu sur certains point.

    J'ai deux entity Card et CardDeck

    j'ai ça dans Card :

    @JoinColumn(name = "cardDeck_id")
        @ManyToOne
        private CardDeck cardDeck;

     ça dans CardDeck

    public class CardDeck {
    
       
        private Long id;
    
        private String name;

    Et j'aimerai pourvoir récupérer toutes mes cartes qui ont tel ID.

    J'ai essayer de faire ça dans mon Cardrepository :

    public interface CardRepository extends JpaRepository<Card, Long> {
    
        List<Card> findCardsByCardDeck_Id(Long id);
    
    }
    

    et dans mon controller :

    @GetMapping("/cards/card-deck/{id}")
        public ResponseEntity<Card> findAllByCardDeckId(@PathVariable("id") long id) {
            try {
                List<Card> cards = new ArrayList<Card>();
                if (id > 0)
                    cards.addAll(cardRepository.findCardsByCardDeck_Id(id));
    
                if (cards.isEmpty()) {
                    return new ResponseEntity<>(HttpStatus.NO_CONTENT);
                }
                return ResponseEntity.ok().build();
            } catch (Exception e) {
                e.printStackTrace();
                return ResponseEntity.status(400).build();
            }
        }

    j'ai un retour 200, mais rien ne s'affiche.

    Je pense que 'est pas sorcier si vous avez une idée je prend, merci par avance.




    • Partager sur Facebook
    • Partager sur Twitter
      31 mars 2022 à 19:05:52

      Que fait cette ligne a ton avis?

      returnResponseEntity.ok().build();

      • Partager sur Facebook
      • Partager sur Twitter
        31 mars 2022 à 20:10:03

        gorille ardent a écrit:

        ca me retourne une reponse http ?

        J'ai cherché, j'ai essayé plusieurs chose, ceci fonctionne presque mais je ne pense pas que ce soit la meilleur methode :

        @GetMapping("/cards/card-deck/{id}")
            public ResponseEntity findAllByCardDeckId(@PathVariable("id") long id) {
                try {
                    List<Card> cards = new ArrayList<Card>();
        
                    if (id > 0 )
                        cards.addAll(cardRepository.findAllByCardDeckId(id));
                        if (cards.isEmpty()) {
                            return new ResponseEntity<>(HttpStatus.NO_CONTENT);
                        }
                    
                    return new ResponseEntity(cards, HttpStatus.CREATED);
        
                } catch (Exception e) {
                    e.printStackTrace();
                    return ResponseEntity.status(400).build();
                }
            }

        J'ai en sortie la meme carte qui s'affiche plusieurs fois, au nombre de fois que j'ai de cartes avec l'id de la jointure
        Edité par gorille ardent il y a moins de 5s



        -
        Edité par gorille ardent 31 mars 2022 à 22:00:05

        • Partager sur Facebook
        • Partager sur Twitter

        Récupérer list items avec jointure de clé primaire

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown