Skip to content

Commit

Permalink
Merge pull request apollographql/apollo-server#2883 from apollographq…
Browse files Browse the repository at this point in the history
…l/jackson/READMEs

First draft of readmes
Apollo-Orig-Commit-AS: apollographql/apollo-server@4671d9e
  • Loading branch information
James Baxley committed Jun 25, 2019
2 parents dcd301d + e789cf8 commit c8d3a92
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 0 deletions.
39 changes: 39 additions & 0 deletions federation-js/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,40 @@
# `Apollo Federation Utilities`

This package provides utilities for creating GraphQL microservices, which can be combined into a single endpoint through tools like [Apollo Gateway](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-gateway).

For complete documentation, see the [Apollo Federation API reference](https://www.apollographql.com/docs/apollo-server/api/apollo-federation/).

## Usage

```js
const { ApolloServer, gql } = require("apollo-server");
const { buildFederatedSchema } = require("@apollo/federation");

const typeDefs = gql`
type Query {
me: User
}
type User @key(fields: "id") {
id: ID!
username: String
}
`;

const resolvers = {
Query: {
me() {
return { id: "1", username: "@ava" }
}
},
User: {
__resolveReference(user, { fetchUserById }){
return fetchUserById(user.id)
}
}
};

const server = new ApolloServer({
schema: buildFederatedSchema([{ typeDefs, resolvers }])
});
```
30 changes: 30 additions & 0 deletions gateway-js/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,31 @@
# Apollo Gateway

This package provides utilities for combining multiple GraphQL microservices into a single GraphQL endpoint.

Each microservice should implement the [federation schema specification](https://www.apollographql.com/docs/apollo-server/federation/federation-spec/). This can be done either through [Apollo Federation](https://github.com/apollographql/apollo-server/tree/master/packages/apollo-federation) or a variety of other open source products.

For complete documentation, see the [Apollo Gateway API reference](https://www.apollographql.com/docs/apollo-server/api/apollo-gateway/).

## Usage

```js
const { ApolloServer } = require("apollo-server");
const { ApolloGateway } = require("@apollo/gateway");

const gateway = new ApolloGateway({
serviceList: [
{ name: "accounts", url: "http://localhost:4001/graphql" },
// List of federation-capable GraphQL endpoints...
]
});

(async () => {
const { schema, executor } = await gateway.load();

const server = new ApolloServer({ schema, executor });

server.listen().then(({ url }) => {
console.log(`🚀 Server ready at ${url}`);
});
})();
```

0 comments on commit c8d3a92

Please sign in to comment.