跳到主要内容

杂项

Graphql

Graphql是一门对标传统RESTful的API查询语言,它的特色在于可以在前端指定服务端返回的数据字段类型、还能够将相关的查询聚合成一个请求。

通常前端可以使用graphql-request,这是一个小型轻便的Graphql Client库,相比其他的Graphql Client库(如Apollo-client)只缺少了部分高级能力。

// RESTful实现
fetch('/api/getNameById', {
body: JSON.stringify({id: 1})
})

// Graphql实现
import { request, gql } from 'graphql-request'

// graphql query的简写 用于查询数据
const query = gql`
{
Movie(title: "Inception") {
releaseDate
actors {
name
}
}
}
`

// graphql mutation 用于修改数据/上传数据
const mutation = gql`
mutation AddMovie($title: String!, $releaseDate: Int!) {
insert_movies_one(object: { title: $title, releaseDate: $releaseDate }) {
title
releaseDate
}
}
`

request('https://api.graph.cool/simple/v1/movies', query).then((data) => console.log(data))