[[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)