User Tools

Site Tools


tanszek:oktatas:informacios_rendszerek_integralasa:graphql_integracio

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:informacios_rendszerek_integralasa:graphql_integracio [2025/02/22 16:29] kneheztanszek:oktatas:informacios_rendszerek_integralasa:graphql_integracio [2025/04/07 16:44] (current) – [Feladat leírása] knehez
Line 1: Line 1:
 ==== GraphQL integráció ==== ==== GraphQL integráció ====
 +
 +Főbb tulajdonságok összehasonlítása a RESTAPI-val.
 +
 +Hivatalos dokumentáció:
 +
 +https://graphql.org/learn/
  
 |         | **REST API** | **GraphQL** | |         | **REST API** | **GraphQL** |
Line 71: Line 77:
 </code> </code>
  
-Majd nyisd meg a GraphQL Playground-ot a következő URL-en:+GraphQL Playground a következő URL-en elérhető lesz:
 👉 http://127.0.0.1:8000/graphql 👉 http://127.0.0.1:8000/graphql
  
 +----
 +
 +===== Mintafeladat: Könyvtári rendszer GraphQL-lel =====
 +
 +==== Feladat leírása ====
 +Készítsünk egy egyszerű GraphQL API-t, amely egy könyvtár adatait kezeli. A rendszer tárolja a könyveket és a szerzőket, valamint lehetőséget ad új könyv felvitelére.
 +
 +==== Követelmények ====
 +
 +A GraphQL séma tartalmazza az alábbi típusokat:
 +
 +  * **Author**:
 +    * `id` (Int)
 +    * `name` (String)
 +
 +  * **Book**:
 +    * `id` (Int)
 +    * `title` (String)
 +    * `author` (Author)
 +    * `year` (Int)
 +
 +==== Implementálandó funkciók ====
 +
 +  * **Lekérdezés:**
 +    * Az összes könyv lekérdezése (cím, szerző neve, év)
 +    * Egy szerző könyveinek lekérdezése név alapján
 +
 +  * **Mutáció:**
 +    * Új könyv hozzáadása a következő adatokkal: cím, szerző ID, év
 +
 +==== Példa lekérdezés ====
 +
 +<code javascript>
 +query {
 +  books {
 +    title
 +    author {
 +      name
 +    }
 +    year
 +  }
 +}
 +</code>
 +
 +==== Példa mutáció ====
 +
 +<code javascript>
 +mutation {
 +  addBook(title: "1984", authorId: 1, year: 1949) {
 +    id
 +    title
 +    author {
 +      name
 +    }
 +  }
 +}
 +</code>
 +
 +==== Technikai követelmények ====
 +
 +  * Használj **FastAPI** + **Strawberry GraphQL** könyvtárakat
 +  * Tárolásra használj beépített listákat (pl. `authors`, `books`)
 +  * A GraphQL endpoint legyen elérhető a `http://127.0.0.1:8000/graphql` címen
 +
 +==== Bónusz feladat ====
 +
 +  * Valósíts meg egy új mutációt: egy szerző hozzáadása név alapján
 +  * Lekérdezés, amely egy évszám alapján listázza a megjelent könyveket
  
tanszek/oktatas/informacios_rendszerek_integralasa/graphql_integracio.1740241767.txt.gz · Last modified: 2025/02/22 16:29 by knehez