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

Spring Boot Java Discussion :

changer le lien _link href pour passer en production


Sujet :

Spring Boot Java

  1. #1
    Membre confirmé
    changer le lien _link href pour passer en production
    Bonjour,

    lorsqu'on souhaite mettre en production , j'expose comme ceci mes lien _links:

    [CODE="json"]
    {
    "_embedded" : {
    "sommaires" : [ { "nameSommaire" : "devops", "route" : "devops", "_links" : { "self" : { "href" : "http://localhost:8080/sommaires/1" }, "sommaire" : { "href" : "http://localhost:8080/sommaires/1" }, "matieres" : { "href" : "http://localhost:8080/sommaires/1/matieres" } } [/CODE]

    j'ai comme préfixe :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    http://localhost:8080


    cela fonctionne bien en local, mais comment s'y prendre lorsqu'on bascule en production , je suis encore en localhost mais mon spring boot est exposer derrière un proxy.
    Du coup en front-end (avec angular), je récupère les href et je demande par exemple cette adresse:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
              "href" : "http://localhost:8080/sommaires/1/matieres"


    ce qui a pour conséquence que mon front-end me réponde
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    zone-evergreen.js:2952 GET http://localhost:8080/sommaires/2/matieres net::ERR_CONNECTION_REFUSED

    alors que je devais avoir ceci faire une requête http

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    GET http://mondomaine.fr/sommaires/2/matieres


    le json je l'ai sauvegarder en localstorage, je pourrais utiliser une regex et demander au front-end de me remplacer tout ce petit mondes
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    http://localhost:8080/ par http://mondomaine.fr/


    mais je pourrais faire mieux de dire à spring boot de modifier coté backend ? et faire en sorte que lorsque je fait un package avec meaven cela me génère pas d'erreur.

    Comment s'y prend t'on pour faire cela ?

    merci de vos réponse

  2. #2
    Rédacteur/Modérateur

    Bonjour,

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    @NgModule({
      providers: [{provide: APP_BASE_HREF, useValue: 'http://mondomaine.fr/'}]
    })


    Mais le mieux c'est que tu le configures pendant le build
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    ng build --baseHref http://mondomaine.fr/

    Il y a aussi le paramètre bolléen --prod qui est indique que c'est pour l'environnement de production ou non.

    A+.