3.13.0 • Published 2 years ago

apollo-server-micro v3.13.0

Weekly downloads
29,224
License
MIT
Repository
github
Last release
2 years ago

npm version Build Status Join the community forum Read CHANGELOG

This is the Micro integration for the Apollo community GraphQL Server. Read the docs. Read the CHANGELOG.

A full example of how to use apollo-server-micro can be found in the docs.

CORS Example

This example demonstrates how to setup a simple Micro + CORS + GraphQL microservice, using micro-cors:

1) Package installation.

npm install micro micro-cors apollo-server-micro graphql

2) index.js

const cors = require('micro-cors')(); // highlight-line
const { ApolloServer, gql } = require('apollo-server-micro');
const { send } = require('micro');

const typeDefs = gql`
  type Query {
    sayHello: String
  }
`;

const resolvers = {
  Query: {
    sayHello(parent, args, context) {
      return 'Hello World!';
    },
  },
};

const apolloServer = new ApolloServer({ typeDefs, resolvers });
module.exports = apolloServer.start().then(() => {
  const handler = apolloServer.createHandler();
  return cors((req, res) => req.method === 'OPTIONS' ? send(res, 200, 'ok') : handler(req, res))
});

3) package.json

{
  "main": "index.js",
  "scripts": {
    "start": "micro"
  }
}

4) After an npm start, access http://localhost:3000/graphql in your browser to run queries using graphql-playground, or send GraphQL requests directly to the same URL.

Custom GraphQL Path Example

This example shows how to setup a simple Micro + GraphQL microservice, that uses a custom GraphQL endpoint path:

1) Package installation.

npm install micro apollo-server-micro graphql

2) index.js

const { ApolloServer, gql } = require('apollo-server-micro');

const typeDefs = gql`
  type Query {
    sayHello: String
  }
`;

const resolvers = {
  Query: {
    sayHello(parent, args, context) {
      return 'Hello World!';
    },
  },
};

const apolloServer = new ApolloServer({ typeDefs, resolvers });
module.exports = apolloServer.start().then(() => {
  return apolloServer.createHandler({ path: '/data' });  // highlight-line
});

3) package.json

{
  "main": "index.js",
  "scripts": {
    "start": "micro"
  }
}

4) After an npm start, access http://localhost:3000/data in your browser to run queries using graphql-playground, or send GraphQL requests directly to the same URL.

Fully Custom Routing Example

This example demonstrates how to setup a simple Micro + GraphQL microservice, that uses micro-router for fully custom routing:

1) Package installation.

npm install micro microrouter apollo-server-micro graphql

2) index.js

const { router, get, post, options } = require('microrouter');
const { ApolloServer, gql } = require('apollo-server-micro');

const typeDefs = gql`
  type Query {
    sayHello: String
  }
`;

const resolvers = {
  Query: {
    sayHello(parent, args, context) {
      return 'Hello World!';
    },
  },
};

const apolloServer = new ApolloServer({ typeDefs, resolvers });
module.exports = apolloServer.start().then(() => {
  const graphqlPath = '/data';
  const graphqlHandler = apolloServer.createHandler({ path: graphqlPath });
  return router(
    get('/', (req, res) => 'Welcome!'),
    post(graphqlPath, graphqlHandler),
    get(graphqlPath, graphqlHandler),
  );
});

3) package.json

{
  "main": "index.js",
  "scripts": {
    "start": "micro"
  }
}

4) After an npm start, access http://localhost:3000/data in your browser to run queries using graphql-playground, or send GraphQL requests directly to the same URL.

3.12.1

2 years ago

3.13.0

2 years ago

2.26.2

2 years ago

3.12.0

2 years ago

3.10.3

3 years ago

3.11.0

3 years ago

3.11.1

3 years ago

2.26.1

3 years ago

3.10.4

3 years ago

3.9.0

3 years ago

3.10.1

3 years ago

3.10.0

3 years ago

3.10.2

3 years ago

2.26.0

3 years ago

3.8.0

3 years ago

3.8.2

3 years ago

3.8.1

3 years ago

3.7.0

3 years ago

3.6.8

3 years ago

2.25.4

3 years ago

3.6.6

3 years ago

3.6.5

3 years ago

3.6.4

3 years ago

3.6.7

3 years ago

3.6.2

3 years ago

3.6.1

3 years ago

3.6.0

3 years ago

3.6.0-alpha.1

3 years ago

3.6.0-alpha.0

3 years ago

3.6.3

3 years ago

3.5.0

4 years ago

2.25.3

4 years ago

3.4.1

4 years ago

3.4.0

4 years ago

3.4.0-alpha.0

4 years ago

3.2.0

4 years ago

3.3.0

4 years ago

3.2.0-alpha.0

4 years ago

3.1.2

4 years ago

3.1.1

4 years ago

3.1.0

4 years ago

3.0.2

4 years ago

3.1.0-alpha.1

4 years ago

3.1.0-alpha.0

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

3.0.0-preview.4

4 years ago

3.0.0-rc.1

4 years ago

3.0.0-rc.0

4 years ago

3.0.0-preview.3

4 years ago

2.25.2

4 years ago

3.0.0-preview.1

4 years ago

3.0.0-preview.2

4 years ago

3.0.0-preview.0

4 years ago

2.25.0

4 years ago

2.25.1

4 years ago

2.25.0-alpha.1

4 years ago

3.0.0-html.2

4 years ago

3.0.0-html.0

4 years ago

3.0.0-lambda.0

4 years ago

2.23.1-unified.0

4 years ago

2.23.1-unified.2

4 years ago

3.0.0-alpha.4

4 years ago

2.24.1

4 years ago

2.25.0-alpha.0

4 years ago

2.24.0

4 years ago

2.24.0-alpha.2

4 years ago

2.24.0-alpha.1

4 years ago

2.24.0-alpha.0

4 years ago

2.23.0

4 years ago

2.23.0-alpha.1

4 years ago

2.23.0-alpha.0

4 years ago

2.22.2

4 years ago

2.22.2-alpha.0

4 years ago

2.22.1

4 years ago

2.22.0

4 years ago

2.22.0-alpha.0

4 years ago

2.21.2

4 years ago

2.21.2-alpha.0

4 years ago

2.21.1

4 years ago

2.21.1-alpha.0

4 years ago

2.21.0

4 years ago

2.21.0-alpha.0

4 years ago

2.21.0-alpha.1

4 years ago

2.21.0-alpha.2

4 years ago

2.20.0

4 years ago

2.20.0-alpha.0

4 years ago

2.19.2

4 years ago

2.19.1

4 years ago

2.19.0

5 years ago

2.19.0-alpha.1

5 years ago

2.18.2

5 years ago

2.19.0-alpha.0

5 years ago

2.18.1

5 years ago

2.18.0

5 years ago

2.18.0-rc.1

5 years ago

2.18.0-rc.0

5 years ago

2.17.1-alpha.0

5 years ago

2.17.0

5 years ago

3.0.0-alpha.3

5 years ago

3.0.0-alpha.2

5 years ago

2.16.1

5 years ago

2.16.0

5 years ago

2.15.1

5 years ago

2.15.0

5 years ago

2.15.0-alpha.1

5 years ago

2.14.5

5 years ago

2.15.0-alpha.0

5 years ago

2.14.4

5 years ago

2.14.3

5 years ago

2.14.2

5 years ago

2.14.1

5 years ago

2.14.0

5 years ago

2.14.0-alpha.2

5 years ago

2.14.0-alpha.1

5 years ago

2.14.0-alpha.0

5 years ago

2.13.1

5 years ago

2.13.1-alpha.1

5 years ago

2.13.1-alpha.0

5 years ago

2.13.0

5 years ago

2.13.0-alpha.1

5 years ago

2.13.0-alpha.0

5 years ago

2.12.0

5 years ago

2.12.0-alpha.5

5 years ago

2.12.0-alpha.3

5 years ago

2.12.0-alpha.4

5 years ago

2.12.0-alpha.2

5 years ago

2.12.0-alpha.1

5 years ago

2.12.0-alpha.0

5 years ago

2.11.0

5 years ago

2.11.0-alpha.3

5 years ago

2.11.0-alpha.2

5 years ago

2.11.0-alpha.1

5 years ago

2.10.1

5 years ago

2.10.0

5 years ago

2.9.16

5 years ago

2.9.15

5 years ago

2.9.14

5 years ago

2.9.13

6 years ago

2.9.12

6 years ago

2.9.10

6 years ago

2.9.11

6 years ago

2.9.9

6 years ago

2.9.8

6 years ago

2.9.7

6 years ago

2.9.6

6 years ago

2.9.5

6 years ago

2.9.4

6 years ago

2.9.3

6 years ago

2.9.2

6 years ago

2.9.1

6 years ago

2.9.0

6 years ago

2.8.2

6 years ago

2.8.1

6 years ago

2.8.0

6 years ago

2.7.2

6 years ago

2.7.1

6 years ago

2.7.0

6 years ago

2.7.0-alpha.14

6 years ago

2.7.0-alpha.13

6 years ago

2.7.0-alpha.12

6 years ago

2.7.0-alpha.9

6 years ago

2.6.9

6 years ago

2.6.8

6 years ago

2.7.0-alpha.8

6 years ago

2.7.0-alpha.7

6 years ago

2.7.0-alpha.6

6 years ago

2.7.0-alpha.5

6 years ago

2.7.0-alpha.4

6 years ago

2.7.0-alpha.3

6 years ago

2.7.0-alpha.2

6 years ago

2.7.0-alpha.1

6 years ago

2.7.0-alpha.0

6 years ago

2.6.7

6 years ago

2.6.7-alpha.0

6 years ago

2.6.6

6 years ago

2.6.5

6 years ago

2.6.5-alpha.0

6 years ago

2.6.4

6 years ago

2.6.3

6 years ago

2.6.2

6 years ago

2.6.2-alpha.0

6 years ago

2.6.1

6 years ago

2.6.1-alpha.0

6 years ago

2.6.0

6 years ago

2.6.0-rc.0

6 years ago

2.6.0-alpha.9

6 years ago

2.5.1

6 years ago

2.5.1-alpha.1

6 years ago

2.5.1-alpha.0

6 years ago

2.6.0-alpha.8

6 years ago

2.6.0-alpha.7

6 years ago

2.6.0-alpha.6

6 years ago

2.6.0-alpha.5

6 years ago

2.6.0-alpha.4

6 years ago

2.6.0-alpha.3

6 years ago

2.6.0-alpha.2

6 years ago

2.6.0-alpha.1

6 years ago

2.6.0-alpha.0

6 years ago

2.5.1-alpha.15

6 years ago

2.5.1-alpha.14

6 years ago

2.5.0

6 years ago

2.5.0-rc.0

6 years ago

2.5.0-alpha.7

6 years ago

2.5.0-alpha.6

6 years ago

2.5.0-alpha.5

6 years ago

2.5.0-alpha.4

6 years ago

2.5.0-alpha.3

6 years ago

2.5.0-alpha.2

6 years ago

2.5.0-alpha.1

6 years ago

2.5.0-alpha.0

6 years ago

2.4.8

6 years ago

2.4.7

6 years ago

2.4.6

6 years ago

2.4.4

6 years ago

2.4.3

6 years ago

2.4.2

6 years ago

2.4.2-rc.0

6 years ago

2.4.1

6 years ago

2.4.0

6 years ago

2.4.0-alpha.4

6 years ago

2.3.3

6 years ago

2.3.2

6 years ago

2.4.0-alpha.2

6 years ago

2.4.0-alpha.1

6 years ago

2.4.0-alpha.0

6 years ago

2.3.1

7 years ago

2.3.0

7 years ago

2.2.7

7 years ago

2.3.0-alpha.0

7 years ago

2.2.7-alpha.0

7 years ago

2.2.6

7 years ago

2.2.5

7 years ago

2.2.4

7 years ago

2.2.3

7 years ago

2.2.2

7 years ago

2.2.1

7 years ago

2.2.0

7 years ago

2.2.0-alpha.4

7 years ago

2.2.0-alpha.3

7 years ago

2.2.0-alpha.2

7 years ago

2.2.0-alpha.1

7 years ago

2.2.0-alpha.0

7 years ago

2.1.0

7 years ago

2.0.7

7 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.1.0-alpha.10

7 years ago

2.1.0-alpha.9

7 years ago

2.1.0-alpha.8

7 years ago

2.1.0-alpha.7

7 years ago

2.0.0

7 years ago

2.0.0-rc.10

7 years ago

2.0.0-rc.9

7 years ago

2.0.0-rc.8

7 years ago

1.4.0

7 years ago

2.0.0-rc.7

7 years ago

2.0.0-beta.9

7 years ago

2.0.0-beta.8

7 years ago

2.0.0-beta.7

7 years ago

2.0.0-beta.6

7 years ago

2.0.0-beta.5

7 years ago

1.3.6

7 years ago

1.3.5

7 years ago

1.3.4

7 years ago

1.3.3

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

8 years ago

1.2.0

8 years ago

1.2.0-pre.1

8 years ago

1.1.7

8 years ago

1.1.6

8 years ago

1.1.5

8 years ago

1.1.3

8 years ago

1.1.2

8 years ago

1.1.0

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3-tracing.3

8 years ago

1.0.3-tracing.2

8 years ago

1.0.3-tracing.1

8 years ago

1.0.3-tracing.0

8 years ago

1.0.2

8 years ago