Intro
Durant la vie du projet, il est possible que votre feature soit disponible ou en cours de réalisation avant les autres APIs dont vous êtes dépendant.
Vous désirez toutefois, continuer à développer ou tester votre API avant la mise en ligne des APIs externes ?
Il est alors possible de “mocker une application”, c'est-à-dire simuler une réponse d’un appel API externe.
De ce fait, mon API appellera une autre API, dite externe, qui donnera la liste des films avec comme body : le titre + un booléen pour savoir s’il y a les sous-titres.
Mon API affichera donc après filtrage uniquement les films sous-titrés.
Sauf que l’API dont on dépend, donnant la liste des films, n’est pas encore disponible.
On va donc simuler une réponse afin de pouvoir déjà mettre en place l’algorithme pour filtrer les films uniquement sous-titrés.
Installez PostMan
🖇️ Download Postman | Get Started for Free
Paramétrez Postman
- Configurez votre sidebar
- Activez Mock servers

Vous devriez, après cette opération, voir apparaître une nouvelle icône à gauche, nommée Mock servers.

Créez votre premier Mock servers
Cliquez sur mock servers
et le “+
” en haut à gauche de l’écran, ou bien, sur create mock server
.

Vous devriez avoir ceci :

- Cochez
Create a new Collection
- Dans
mock server name
, nommez votre mock (exemple : listeFilm) - Dans
request method
sélectionnez la méthode utilisée par votre API (GET, POST, …) request url
sera l’url que l’API appellera (sans le domaine)Par exemple :
@GetMapping(path = "/films") Flux<Films> films();
- Dans
Response code
, mettez le code réponse de l’API attendu. - Dans
Response body
, mettez le json que vous souhaitez recevoir, par exemple :
[{
"title": "Titanic",
"subtitles": true
},
{
"title": "Armageddon",
"subtitles": false
}]
- Dans
simulate a fixed network delay
, vous pouvez simuler un temps de réponse.

- Une fois paramétré, vous pouvez cliquer sur
create mock server

Testez votre mock avec PostMan
Vous pouvez tester votre API mockée directement avec Postman, en cliquant sur le lien (point numéro 3)

Vous allez ensuite avoir ceci :

Si vous envoyez la requête, vous allez recevoir une erreur.

C’est normal. Souvenez vous, l’URL appelée est : https://domaine.mock.pstmn.io/films
- Rajoutez
/films
et rejouez la requête. - Vous allez bien recevoir votre json.

Mettre son mock sur son API
Vous allez pouvoir récupérer l’URL de votre mock. Pour ceci, allez dans mock servers + sélectionnez votre mock + faites un copier-coller du lien :

Dans votre application yaml ou yml mettez l’url de votre mock :

Simuler une erreur
Vous allez certainement mettre en place un “handler” afin de gérer les erreurs en appelant les APIS externes.
Il est possible de mock une erreur. Souvenez vous, on peut choisir le code retour de l’API mockée.
De ce fait, on va simuler une panne de l’API.
- Ajoutez un nouveau mock

- On repend le même request méthod et request URL qu’avant sauf que :
- Notre
Response code
sera : 500, - et
mock server name
s’appellera : myFilmsKO
- Notre

- PostMan va générer une nouvelle url, cet URL renverra une 500.
Pour tester sur votre API, il suffira juste de changer l’url précédent par le nouvel URL.
Voici le rendu si on appelle cet URL :

Retrouvez l’URL rendant un résultat sans erreur
Si vous désirez retrouver l’url du mock donnant une 200 :
- Dans la liste des mock servers, cliquez sur
myFilms
. Vous trouverez l’url associée.

Multiples liens mock
Pour éviter d’avoir plusieurs liens, on peut générer pour un domaine plusieurs liens.
Dans add request
, vous pouvez ajouter pour le même lien plusieurs méthodes différentes avec un résultat différent.
