Ugrás a fő tartalomra

 Swagger minta OpenApi hívás összeállítása


Célok és paraméterezés


  1. 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.
  2. 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)
  3. 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)
  4. 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)
  5. 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