RESTful API和GraphQL API在设计理念、数据交互方式和使用场景上有一些显著的区别。
const express = require('express');
const app = express();
const port = 3000;
app.get('/users', (req, res) => {
res.json([
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
]);
});
app.listen(port, () => {
console.log(`RESTful API listening at http://localhost:${port}`);
});
const { ApolloServer, gql } = require('apollo-server');
const typeDefs = gql`
type User {
id: ID!
name: String!
}
type Query {
users: [User]
}
`;
const resolvers = {
Query: {
users: () => [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
]
}
};
const server = new ApolloServer({ typeDefs, resolvers });
server.listen().then(({ url }) => {
console.log(`GraphQL API listening at ${url}`);
});