[[oktatas:web:rest_api|< REST API]] ====== Mockoon ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2022 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== A Mockoon ===== A Mockoon egy grafikus program, amely könnyen és gyorsan indítható REST API szerverként képes üzemelni. A Mockoon ugyanakkor nyílt forráskódú, nincs szükség távoli telepítésre, regisztrációra. ===== Beszerzés ===== * https://mockoon.com/ ===== Azonosítás ===== Azonosításhoz többválaszos (response) mód szükséges. Vegyünk fel két response-t. * 1:401 * 2:200 Az első response body része valami ilyen üzenet: { "auth": false } A válaszkód legyen "401 - Unauthorized". A második válasz tartalmazza az azonosítás után elérhető JSON tartalmat. Például a body-ban: { "employees": [ { "name": "Peres Géza", "city": "Szeged", "salary": 2854000 }, { "name": "Pokol Roland", "city": "Szolnok", "salary": 2495000 } ] } A válaszkód: "200 - OK". Vegyünk fel egy szabályt "Rules" fülön. Header Authorization equals Bearer 12345678 Az itt felvett szabályok, mind követelményként jelennek meg, a válasz elérésekor. ===== Példa ===== Ebben a példában egy dolgozó nyilvántartás importálható a Mockoon programba. Van két dolgozó, a employees végponton, amit GET metóduson keresztül token alapú azonosítással érhető el. Töltse le, majd importálja a fájlt a Mockoon programban az "Import/export" menüponton keresztül. Az alábbi fájl letöltése, kezdeményezhető a fájl nevére jobb egér gombbal katintva. { "source": "mockoon:1.16.0", "data": [ { "type": "environment", "item": { "uuid": "3fff6740-01f4-4489-8f66-7eaba7a7dff8", "lastMigration": 18, "name": "Teszt környezet", "endpointPrefix": "api", "latency": 0, "port": 3006, "hostname": "0.0.0.0", "routes": [ { "uuid": "a378acc6-4418-49b2-b117-566078eafa61", "documentation": "", "method": "get", "endpoint": "employees", "responses": [ { "uuid": "4157bf5b-f48a-42d4-9e6a-5e74d6f639e4", "body": "{\n \"auth\": false\n}", "latency": 0, "statusCode": 401, "label": "", "headers": [], "filePath": "", "sendFileAsBody": false, "rules": [], "rulesOperator": "OR", "disableTemplating": false, "fallbackTo404": false }, { "uuid": "e5eb8d2f-78fe-4599-9915-04588e069d35", "body": "{\n \"employees\": [\n {\n \"name\": \"Peres Géza\",\n \"city\": \"Szeged\",\n \"salary\": 2854000\n },\n {\n \"name\": \"Pokol Roland\",\n \"city\": \"Szolnok\",\n \"salary\": 2495000\n }\n ]\n}", "latency": 0, "statusCode": 200, "label": "", "headers": [], "filePath": "", "sendFileAsBody": false, "rules": [ { "target": "header", "modifier": "Authorization", "value": "Bearer 12345678", "operator": "equals" } ], "rulesOperator": "AND", "disableTemplating": false, "fallbackTo404": false } ], "enabled": true, "randomResponse": false, "sequentialResponse": false } ], "proxyMode": false, "proxyHost": "", "proxyRemovePrefix": false, "https": false, "cors": true, "headers": [ { "key": "Content-Type", "value": "application/json" } ], "proxyReqHeaders": [ { "key": "", "value": "" } ], "proxyResHeaders": [ { "key": "", "value": "" } ] } } ] } ===== Lásd még ===== * https://wiremock.org/ (2022)