apollo-server/packages/apollo-server-azure-functions/README.md
Michael Golfi 3dc9719268 Azure Functions now returns correct response body (#753)
* Added fixes to apolloAzureFunctions.js and sample functions for the GraphQL API and GraphiQL

* Added issue and pr details to changelog

* Maintain use of `context.done()`, but use `isRaw` instead.

Per the Azure documentation regarding the response object available at:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-node#response-object

* Switch Azure example to use CommonJS rather than native ESM exports.
2018-04-17 21:39:06 +03:00

1.8 KiB
Executable file

title description
Azure Functions Setting up Apollo Server with Azure Functions

npm version Build Status Coverage Status Get on Slack

This is the Azure Functions integration for the Apollo community GraphQL Server. Read the docs.

Sample Code

GraphQL:

const { graphqlAzureFunctions } = require('apollo-server-azure-functions');
const { makeExecutableSchema } = require('graphql-tools');

const typeDefs = `
  type Random {
    id: Int!
    rand: String
  }

  type Query {
    rands: [Random]
    rand(id: Int!): Random
  }
`;

const rands = [{ id: 1, rand: 'random' }, { id: 2, rand: 'modnar' }];

const resolvers = {
  Query: {
    rands: () => rands,
    rand: (_, { id }) => rands.find(rand => rand.id === id),
  },
};

const schema = makeExecutableSchema({
  typeDefs,
  resolvers,
});

module.exports = function run(context, request) {
  graphqlAzureFunctions({ schema })(context, request);
};

GraphiQL

const { graphiqlAzureFunctions } = require('apollo-server-azure-functions');

export function run(context, request) {
  let query = `
    {
      rands {
        id
        rand
      }
    }
  `;

  // End point points to the path to the GraphQL API function
  graphiqlAzureFunctions({ endpointURL: '/api/graphql', query })(
    context,
    request,
  );
}