GraphQL
https://gyazo.com/15b24659a736b7d618e0c9416a1199c5
特徴
代替でなく併用
設計原則
階層構造
フィールド 他のフィールドの入れ子
クエリ レスポンスと同じ構造
プロダクト中心
強い型付け
フィールドは固有の型をもち、バリデーションされる
クライアントごとのクエリ
クライアントが必要とする機能を提供
自己参照
背景
使い分け
オーバーキル?
hr.icon
用語
データの要件を定義
特定のフィールドをデータを返す関数
ルート型
Query
Mutation
Subscription
hr.icon
Hello
code:graphql-hello.js
const { ApolloServer } = require('apollo-server');
// define schema
const typeDefs = `
type Query {
totalPhotos: Int!
}
`;
// define resolver
const resolvers = {
Query: {
totalPhotos: () => 42
}
};
const server = new ApolloServer({
typeDefs,
resolvers
});
// run server
server
.listen()
.then(({ url }) => console.log(GraphQL Service running on ${url}));
hr.icon
困りごと
locallhost:4000が400になる
hr.icon
公式系
どの実装方法がよいか分かる
参考記事
hoge