Nocturnal Pajama Mutants

    @kbrandwijk/swagger-to-graphql

    2.4.3 • Public • Published

    Swagger2GraphQL

    Swagger2GraphQL converts your existing Swagger schema to GraphQL types where resolvers perform HTTP calls to certain real endpoints. It allows you to move your API to GraphQL with nearly zero afford and maintain both: REST and GraphQL APIs.

    Why?

    Usage

    Basic server

    const express = require('express');
    const app = express();
    const graphqlHTTP = require('express-graphql');
    const graphQLSchema = require('swagger-to-graphql');
    
    graphQLSchema('./petstore.json').then(schema => {
      app.use('/graphql', graphqlHTTP(() => {
        return {
          schema,
          context: {
            GQLProxyBaseUrl: API_BASE_URL
          },
          graphiql: true
        };
      }));
    
      app.listen(3009, 'localhost', () => {
        console.info(`API is here localhost:3009/graphql`);
      });
    }).catch(e => {
      throw e;
    });

    CLI convertion

    npm i -g swagger-to-graphql
    swagger-to-graphql --swagger=/path/to/swagger_schema.json > ./types.graphql
    

    Authorization

    Basic Auth example:

     ...
      context: {
        GQLProxyBaseUrl: API_BASE_URL,
        headers: {
          Authorization: 'Basic YWRkOmJhc2ljQXV0aA==',
          "X-Custom": 'customValue'
        }
        BearerToken: req.get('authorization')
      },
     ...

    Bearer Token example:

     ...
      context: {
        GQLProxyBaseUrl: API_BASE_URL,
        headers: {
          Authorization: req.get('authorization'),
          "X-Custom": 'customValue'
        }
      },
     ...

    All context options

    Install

    npm i @kbrandwijk/swagger-to-graphql

    DownloadsWeekly Downloads

    10,837

    Version

    2.4.3

    License

    MIT

    Unpacked Size

    210 kB

    Total Files

    22

    Last publish

    Collaborators

    • kbrandwijk