Swagger minta OpenApi hívás összeállítása
Célok és paraméterezés
Milyen célt szolgál az API?
- Cél: Egy egyszerű "Teendőlista" API, amely lehetővé teszi teendők létrehozását, lekérdezését, frissítését és törlését.
Milyen metódusokat szeretnél tesztelni?
- GET (teendők lekérdezése, egy teendő lekérdezése)
- POST (új teendő létrehozása)
- PUT (teendő frissítése)
- DELETE (teendő törlése)
Milyen útvonalakon (endpoints) szeretnéd elérni az API-t?
/todos
(összes teendő lekérdezése, új teendő létrehozása)/todos/{id}
(egy teendő lekérdezése, frissítése, törlése)
Milyen paramétereket vársz az egyes hívásoknál?
- GET /todos: Nincsenek paraméterek.
- GET /todos/{id}:
id
(path paraméter, a teendő azonosítója) - POST /todos: Request body (JSON formátumban, a létrehozandó teendő adataival)
- PUT /todos/{id}:
id
(path paraméter, a frissítendő teendő azonosítója), Request body (JSON formátumban, a frissített adatokkal) - DELETE /todos/{id}:
id
(path paraméter, a törlendő teendő azonosítója)
Milyen válaszokat vársz az egyes hívásoknál?
- GET /todos:
- 200 OK (sikeres lekérdezés, teendők listája JSON formátumban)
- GET /todos/{id}:
- 200 OK (sikeres lekérdezés, a teendő adatai JSON formátumban)
- 404 Not Found (ha a teendő nem található)
- POST /todos:
- 201 Created (sikeres létrehozás, a létrehozott teendő adatai JSON formátumban)
- PUT /todos/{id}:
- 200 OK (sikeres frissítés, a frissített teendő adatai JSON formátumban)
- 404 Not Found (ha a teendő nem található)
- DELETE /todos/{id}:
- 204 No Content (sikeres törlés, nincs válasz body)
- 404 Not Found (ha a teendő nem található)
YAML tartalom
"
openapi: 3.0.0
info:
title: Teendőlista API
version: 1.0.0
servers:
- url: http://localhost:3000 # Példa szerver URL, módosítsd a sajátodra
paths:
/todos:
get:
summary: Összes teendő lekérdezése
responses:
'200':
description: Sikeres lekérdezés
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Todo'
post:
summary: Új teendő létrehozása
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NewTodo'
responses:
'201':
description: Sikeres létrehozás
content:
application/json:
schema:
$ref: '#/components/schemas/Todo'
/todos/{id}:
get:
summary: Egy teendő lekérdezése azonosító alapján
parameters:
- in: path
name: id
required: true
schema:
type: integer
description: A teendő azonosítója
responses:
'200':
description: Sikeres lekérdezés
content:
application/json:
schema:
$ref: '#/components/schemas/Todo'
'404':
description: Teendő nem található
put:
summary: Teendő frissítése azonosító alapján
parameters:
- in: path
name: id
required: true
schema:
type: integer
description: A teendő azonosítója
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NewTodo' # Lehet, hogy itt inkább egy UpdateTodo sémára van szükség
responses:
'200':
description: Sikeres frissítés
content:
application/json:
schema:
$ref: '#/components/schemas/Todo'
'404':
description: Teendő nem található
delete:
summary: Teendő törlése azonosító alapján
parameters:
- in: path
name: id
required: true
schema:
type: integer
description: A teendő azonosítója
responses:
'204':
description: Sikeres törlés
'404':
description: Teendő nem található
components:
schemas:
Todo:
type: object
properties:
id:
type: integer
description: A teendő azonosítója
title:
type: string
description: A teendő címe
completed:
type: boolean
description: Jelzi, hogy a teendő el van-e végezve
NewTodo:
type: object
properties:
title:
type: string
description: A teendő címe
completed:
type: boolean
description: Jelzi, hogy a teendő el van-e végezve
default: false
"
Eredmény
Link:
Megjegyzések
Megjegyzés küldése