Rumah > Artikel > hujung hadapan web > GraphQL
GraphQL ialah bahasa pertanyaan yang berkuasa untuk API anda dan masa jalan untuk melaksanakan pertanyaan tersebut dengan data anda. Dibangunkan oleh Facebook pada 2012 dan dikeluarkan sebagai projek sumber terbuka pada 2015, GraphQL membenarkan pelanggan meminta data yang mereka perlukan dengan tepat—tidak lebih, tidak kurang.
Ciri Utama:
1. Pengambilan Data:
2. Pengambilan berlebihan dan Pengambilan yang kurang:
3. Versi:
Begini cara anda boleh menulis pertanyaan GraphQL untuk mengambil maklumat pengguna:
query { user(id: "1") { name email posts { title content } } }
Dalam pertanyaan ini:
Untuk bermula dengan GraphQL, mari sediakan pelayan asas menggunakan Node.js dan Apollo Server.
1. Pasang Ketergantungan:
npm install apollo-server graphql
2. Buat Pelayan Asas:
Buat fail bernama index.js dan tambah kod berikut:
const { ApolloServer, gql } = require('apollo-server'); // Define your type definitions const typeDefs = gql` type Post { title: String content: String } type User { name: String email: String posts: [Post] } type Query { user(id: String!): User } `; // Define your resolvers const resolvers = { Query: { user: (_, { id }) => ({ name: "John Doe", email: "john.doe@example.com", posts: [ { title: "GraphQL Basics", content: "Learning GraphQL is fun!" } ] }), }, }; // Create an Apollo Server instance const server = new ApolloServer({ typeDefs, resolvers }); // Start the server server.listen().then(({ url }) => { console.log(`? Server ready at ${url}`); });
3. Jalankan Pelayan:
node index.js
Pelayan anda kini akan berjalan dan anda boleh mengujinya menggunakan GraphiQL (tersedia di http://localhost:4000) atau mana-mana klien GraphQL.
Mulakan dengan GraphQL Hari Ini!
Dengan menggunakan GraphQL, anda boleh membina API yang lebih cekap, fleksibel dan berskala. Nantikan minggu depan, di mana kami akan menyelami lebih mendalam topik GraphQL lanjutan seperti reka bentuk skema dan mutasi.
Atas ialah kandungan terperinci GraphQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!