Televíziós

+8615824687445

WhatsApp

8615824687445

Hogyan lehet beállítani a GraphQL -t egy Rails alkalmazásban?

Jul 09, 2025Hagyjon üzenetet

A GraphQL a hagyományos RESTful API -k hatékony alternatívájaként jelent meg, amely hatékonyabb és rugalmasabb módszert kínál az adatok lekérdezésére. Tapasztalt sínek eladójaként kiváltságom volt a GraphQL bevezetése számos Rails alkalmazásban, tanúja annak, hogy az első kézből tanúja legyen a fejlesztési folyamatra és a végfelhasználói élményre gyakorolt ​​átalakító hatással. Ebben a blogbejegyzésben megosztom egy lépésről lépésre irányuló útmutatót arról, hogyan lehet beállítani a GraphQL-t egy Rails alkalmazásban, néhány bevált gyakorlat és megfontolás mellett.

Előfeltételek

Mielőtt belemerülne a beállítási folyamatba, győződjön meg arról, hogy a következőket telepítette -e a gépére:

  • Ruby (2.5 vagy újabb verzió)
  • Sínek (5.2 vagy újabb verzió)
  • Kötegelő

1. lépés: Hozzon létre egy új Rails alkalmazást

Ha a semmiből indul, hozzon létre egy új Rails alkalmazást a következő parancs segítségével:

sínek új gráfql_rails_app cd grafikl_rails_app

2. lépés: Adja hozzá a GraphQL GEM -t

A GraphQL használatához a Rails alkalmazásban hozzá kell adnia aGraphQLGem aGemfile- Nyissa ki aGemfileKedvenc szövegszerkesztőjében, és adja hozzá a következő sort:

Gem 'Graphql'

Ezután futtassacsomag telepítéseA drágakő telepítéséhez.

3. lépés: Készítsen egy GraphQL sémát

A GraphQL séma meghatározza az API -ban rendelkezésre álló típusokat és műveleteket. Az alapsáma előállításához futtassa a következő parancsot:

A sínek generálják a GraphQL -t: Telepítés

Ez a parancs létrehozza aGraphQLkönyvtár aalkalmazáskönyvtár, aütemterv.rbfájl. Aütemterv.rbA fájl a GraphQL séma belépési pontja.

4. lépés: Határozza meg a típusokat

A GraphQL -ben a típusok a lekérdezhető adatokat képviselik. Az alkalmazás modelljei alapján meghatározhatja az egyedi típusokat. Tegyük fel például, hogy van egyFelhasználóModell a Rails alkalmazásban. Meghatározhatja a megfelelőtUserTypeA GraphQL sémájában.

Nyissa ki aApp/graphql/types/user_type.rbFájl és adja hozzá a következő kódot:

modultípusok osztály usertype <types :: baseObject mező: azonosító, id, null: hamis mező: név, karakterlánc, null: hamis mező: e -mail, karakterlánc, null: hamis vége

Ez a kód meghatározza aUserTypeHárom mezővel:személyazonosság,név, ésemail-

5. lépés: Határozza meg a lekérdezéseket

A lekérdezéseket az adatok leolvasására használják a szerverről. Meghatározhatja az egyedi lekérdezéseket a GraphQL sémájában. Nyissa ki aApp/graphql/type/query_type.rbFájl és adja hozzá a következő kódot:

modultípusok osztály queryType <Típusok :: baseObject mező: Felhasználók, [Típusok :: UserType], NULL: FALSE DEF Felhasználók.

Ez a kód meghatározza afelhasználóklekérdezés, amely az alkalmazás összes felhasználójának listáját adja vissza.

6. lépés: Frissítse a sémát

Nyissa ki aApp/Graphql/Schema.rbfájl és győződjön meg arról, hogy aQueryType- A fájlnak így kell kinéznie:

British Standard BSC28 Steel Rail60E1A1 Rail

Osztály ApplicationSchema <Graphql :: séma lekérdezés típusai :: QueryType End

7. lépés: Állítsa be a GraphQL végpontot

Ahhoz, hogy a GraphQL API hozzáférhető legyen, be kell állítania egy végpontot a Rails alkalmazásban. Nyissa ki aconfig/routes.rbFájl és adja hozzá a következő kódot:

Rails.Application.Routes.Draw Do Post '/Graphql', to: 'Graphql#Execute' End

Ezután hozzon létre aGraphQlControllerA GraphQL kérések kezelése. Futtassa a következő parancsot:

sínek generálják a Graphql végrehajtás vezérlőt

Nyissa ki aApp/Controlers/Graphql_Controller.rbFájl és adja hozzá a következő kódot:

Osztály GraphqlController <ApplicationController def végrehajtása lekérdezés = params [: lekérdezés] változók = csész_hash (params [: változók]) eredmény = Applicationschema.Execute (lekérdezés, változók: Változók) JSON JSON: EREDMÉNY ELSŐ PRIGNEF DEF CONEPLE_HASH (AmbiGuous_Param) Case Ambigaving_param, ha a karakterlánc, ha egyértelmű, ha egyértelmûen_perment? csész_hash (json.parse (ambigauus_param)) else {} vége, ha hash, ActionController :: Paraméterek AmbiGuous_Param, amikor nulla {} egyébként emeli fel az argumentError -ot, "Váratlan paraméter: #{ambigauus_param}" Vége vége vége vége vége

8. lépés: Tesztelje a GraphQL API -t

Használhat olyan eszközöket, mintGrafikqlA GraphQL API teszteléséhez. A GraphiQL egy böngészőn belüli IDE a GraphQL API-k feltárására. A Graphiql használatához a Rails alkalmazásban adja hozzá a következő kódotconfig/routes.rbFájl:

Ha rails.env.Development? Mount Graphiql :: Rails :: Motor, AT: "/grafiql", grafikql_path: "/grafikql" end

Most hozzáférhet a grafikql -hezhttp: // localhost: 3000/grafiqlA böngészőjében. Írhat lekérdezéseket, és valós időben láthatja az eredményeket.

A bevált gyakorlatok és megfontolások

  • Engedélyezés: Végezzen el megfelelő engedélyezési mechanizmusokat annak biztosítása érdekében, hogy csak a hitelesített felhasználók férhessenek hozzá bizonyos lekérdezésekhez és mutációkhoz.
  • Gyorsítótárazás: Használjon gyorsítótárazási stratégiákat a GraphQL API teljesítményének javításához.
  • Hibakezelés: Végezzen robusztus hibakezelést, hogy értelmes hibaüzeneteket biztosítson az ügyfelek számára.

Sínünk kínálata

Rails-eladóként a kiváló minőségű sínekkatermékek széles skáláját kínáljuk, beleértve a60E1A1 vasút,Brit standard BSC28 acél sín, és25 font Asce acél sín- Ezeket a síneket úgy tervezték, hogy megfeleljenek a legmagasabb ipari előírásoknak, és különféle alkalmazásokhoz alkalmasak.

Vegye fel velünk a kapcsolatot a beszerzés céljából

Ha érdekli a sínek megvásárlása, vagy bármilyen kérdése van a GraphQL beállításával kapcsolatban a Rails alkalmazásban, szeretnénk hallani rólad. Vegye fel velünk a kapcsolatot, hogy elindítsa a beszerzési vitát, és keresse meg az Ön igényeinek legjobb megoldásait.

Referenciák

  • Sínekes dokumentáció
  • GraphQL dokumentáció