Problème de communication entre back et front
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Problème de communication entre back et front



  1. #1
    Blazourax361

    Red face Problème de communication entre back et front


    ------

    Bonjour à tous,
    Je suis débutante en développement Web et je me retrouve coincée depuis quelques jours sur un problème.
    Voici la situation :

    Je développe actuellement une application web en utilisant Java pour le backend et TypeScript/HTML/CSS pour le frontend.
    J'aimerais afficher sur ma page une adresse mail pour contacter le support technique, mais on m'a demandé d'envoyer cette adresse mail depuis le back.

    J'ai beau m'inspirer d'autres parties du code qui sont un peu similaires je ne comprend pas pourquoi ça ne fonctionne pas.

    Dans le back, j'ai créé 2 documents : SupportConfiguration et SupportController, et j'ai ajouté l'adresse mail dans le fichier de conf du projet (support.contact.mail).

    Voici SupportConfiguration :
    Code:
    @Configuration
    public class SupportConfiguration {
    
        @Value("${support.contact.mail}")
        private String supportEmail;
    
        public String getSupportEmail() {
            return this.supportEmail;
        }
    
    }
    Voici SupportController qui va envoyer l'email à l'url /support/mail :
    Code:
    @RestController
    @RequestMapping("/support")
    public class SupportController {
    
        private SupportConfiguration supportConfiguration;
    
        @Autowired
        public SupportController(SupportConfiguration supportConfiguration) {this.supportConfiguration = supportConfiguration;
        }
    
        @GetMapping("/mail")
        public String getSupportEmail() {
            return supportConfiguration.getSupportEmail();
        }
    }
    Et voici comment j'essaye de récupérer la valeur de l'email dans le front (support.mail = "/support/mail") :
    Code:
    @Injectable({
      providedIn: 'root'
    })
    export class SupportService {
    
      constructor(private http: HttpClient) { }
    
      supportLink() {
        const endpoint = environment.apiUrl + environment.endpoints.support.mail;
        return this.http.get<any>(endpoint);
      }
    }
    Et l'appel à cette fonction :

    Code:
    @Component({
      selector: 'app-navigation',
      templateUrl: './navigation.component.html',
      styleUrls: ['./navigation.component.css']
    })
    export class NavigationComponent implements OnInit {
      support_email:any;
    
      constructor(private supportService:SupportService){ }
    
      ngOnInit(): void {
        this.supportService.supportLink().subscribe(response => {
           this.support_email = response;
        });
    
      }
    }
    Mais quand j'utilise ce code j'ai une erreur car le front ne reçoit pas bien l'adresse mail.

    Pouvez vous m'aider svp ? Cela commence à faire un moment que je bloque dessus et je n'arrive même pas à savoir si mon problème vient du back ou du front.

    Merci d'avance !

    -----

  2. #2
    vgondr98

    Re : Problème de communication entre back et front

    Quelle est l'erreur ?

    Dans ton code, je ne vois pas de gestion du CrossOrigin (https://developer.mozilla.org/fr/docs/Web/HTTP/CORS). Ce problème intervient quand le client et le serveur ne sont pas localisé (le webservoce ne fonctionne pas).
    J'ai eu ce problème car mon code angular était sur le port 4200 et mon code java sur le port 8080.

    Avec Spring Boot, il suffit d'annoter avec @CrossOrigin.

    @CrossOrigin(origins = "*", allowedHeaders = "*")
    @RestController

  3. #3
    Blazourax361

    Re : Problème de communication entre back et front

    Voici l'erreur que j'obtiens :
    Nom : Capture.jpg
Affichages : 188
Taille : 20,7 Ko

    Il me semble que les autres développeurs du projet ont fait en sorte que le back et le front soient sur le même port 8080 donc je ne sais pas si il y a besoin de @CrossOrigin.

  4. #4
    vgondr98

    Re : Problème de communication entre back et front

    Il faudrait que tu rentres directement l'url du back dans ton navigateur pour voir sous quel format est envoyé le mail.
    De mon côté le http failure during parsing, cela m'arrive quand j'attend un json et que je reçois pas un json mais un string par exemple.

  5. A voir en vidéo sur Futura
  6. #5
    Blazourax361

    Re : Problème de communication entre back et front

    Je reçois juste un string quand j'écris l'URL dans le navigateur.
    Du coup il faudrait que j'envoie ça sous forme d'un JSON c'est ça ?

  7. #6
    vgondr98

    Re : Problème de communication entre back et front


  8. #7
    vgondr98

    Re : Problème de communication entre back et front

    Soit envoyé un json par le webservice soit spécifié {responseType: 'text'} dans le javascript.

  9. #8
    polo974

    Re : Problème de communication entre back et front

    Jusqu'ici tout va bien...

  10. #9
    Blazourax361

    Re : Problème de communication entre back et front

    A quel endroit doit écrire {responseType: 'text} ?

    Mon code actuel fais que support_email = [object Object] et pas le mail ... :/ Alors que le back envoie bien un String de l'adresse mail.

    Code:
      ngOnInit(): void {
        this.supportService.supportLink().subscribe(response => {
          this.support_email = response;
          console.log("Support email received :", this.support_email);
        });
      }

  11. #10
    Blazourax361

    Re : Problème de communication entre back et front

    J'ai finalement trouver une solution :

    Code:
      ngOnInit(): void {
        this.supportService.supportLink().subscribe(response => {
          this.support_email =<String>response.message;
          console.log("Support email received :", this.support_email);
        });
      }
    Merci pour votre aide !

Discussions similaires

  1. Problème de communication entre ma chaudière et mon TA
    Par octoppus dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 6
    Dernier message: 01/12/2017, 05h03
  2. probléme de communication entre PIC18f4550 et YG-521 en I2C
    Par asirem dans le forum Électronique
    Réponses: 4
    Dernier message: 18/05/2014, 11h42
  3. Mystères du front/back focus.
    Par louloute/Qc dans le forum Physique
    Réponses: 6
    Dernier message: 23/04/2012, 12h03
  4. Problème communication I2C entre RTC et uC
    Par invite5267eae1 dans le forum Électronique
    Réponses: 34
    Dernier message: 30/06/2010, 22h38
  5. probleme communication entre compactRIO et PC
    Par invite19c7b431 dans le forum Électronique
    Réponses: 4
    Dernier message: 09/04/2009, 15h27