IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Faire une requête GET en passant un paramètre @RequestBody idans mon controller spring boot


Sujet :

Angular

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut Faire une requête GET en passant un paramètre @RequestBody idans mon controller spring boot
    Bonjour, je développe une application angular spring boot. Mon objectif est de recevoir dans mon controller spring un paramètre @RequestBody. En lisant des discussion sur internet, j'ai seulement trouvé des requêtes POST qui envoient des paramètres @RequestBody , alors que dans mon cas, c'est une requête GET.
    Pourtant, je me suis tenu à une méthode POST dans mon controller. Voici mon controller

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        @RequestMapping(value = "/produitimmobilier/all/{pageSize}/{page}",
        method = RequestMethod.POST,
        produces = {"text/plain;charset=UTF-8", MediaType.APPLICATION_JSON_VALUE},
        consumes = {"text/plain;charset=UTF-8", MediaType.APPLICATION_JSON_VALUE})
        public @ResponseBody List<ProduitImmobilierDTO> findAll(@PathVariable("pageSize") int pageSize, @PathVariable("page") int page, @RequestBody Search search){
            logger.info(search.toString());
        	return produitImmobilierService.findAll(pageSize, page);
        }
    J'essaye de m'en tenir à une requête POST du coté de angular. Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
          getListProduitImmobilierDTO(pagesize: number, page: number, search: Search): Observable<ProduitImmobilierDTO[]> {
            const headerDict = {
              'Content-Type': 'application/json',
              Accept: 'application/json',
              'Accept-Charset': 'charset=UTF-8',
              'Access-Control-Allow-Headers': 'Content-Type'
            };
     
            const requestOptions = {
              headers: new HttpHeaders(headerDict)
            };
            return this.http.post<Search>('/api/produitimmobilier/all/' + pagesize + '/' + page, search, requestOptions).pipe(map((jsonArray: any) =>jsonArray.map((jsonItem) => ProduitImmobilierDTO.fromJson(jsonItem))));
          }
    Et j'ai cette erreur

    Error: occured while trying to proxy to: localhost:4200/api/produitimmobilier/all/5/1
    Message: Http failure response for http://localhost:4200/api/produitimmobilier/all/5/1: 504 Gateway Timeout
    Si j'ai bien compris, je ne peux pas mettre post<Search> avec un objet Search comme paramètre, et recevoir l'objet Observable<ProduitImmobilierDTO[]>. Je n'ai absolument rien trouvé sur internet. Pouvez vous m'aider ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    c'est impossible de faire un GET en mettant des choses dans le body ...

    il n'y aura pas d'erreur mais les données du BODY seront ignorées.

    un get est un GET et un POST est un POST
    chacun ont leur utilité et une façon d'etre utilisé



    par contre avec un get on peut passer des parametres dans l'url (mais absolument pas dans le body)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut
    Merci pour ta réponse krakatoa. Je ferme la discussion

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire une requête de type spatiale
    Par sohm dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/02/2007, 08h50
  2. Comment faire une requête SQL dans un datatable
    Par Passepoil dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/02/2007, 20h24
  3. Comment faire une requête Mysql
    Par Xavier dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/02/2007, 17h07
  4. [BDE] Comment faire une requête sur 2 Ttables ?
    Par dim07 dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/12/2006, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo