graphql-to-restapi

0.2.12 • Public • Published

Cài module:

$ npm install --save graphql-to-restapi

Sử dụng

Chỉ cần sử dụng graphql-to-restapi như một route handle

import GraphqlRest from 'graphql-to-restapi';
import express from 'express';
const app = express();
 
app.use('/api', GraphqlRest({
    schema: GraphQLSchema, 
    routeConfigs: routeConfigs
}));
 
app.listen(4000);

Options

graphql-to-restapi chấp nhận các options dưới đây:

  • schema(*): Là GraphQLSchema instance từ [GraphQL.js][].
  • routeConfigs(*): Là config rest api và graphql resolve tương ứng
 
let routeConfigs = [
    // Viewer
    {
        method: 'post',
        path: '/login',
        handle: {
            type: 'mutation',
            name: 'login'
        },
        tags: ['Viewer'] 
    },{
        method: 'get',
        path: '/profile',
        handle: {
            type: 'query',
            name: 'profile'
        },
        // áp dụng security chỉ ở phạm vi api get profile
        security: [{
            BearerAuth: []
        }],
        tags: ['Viewer'] 
    }
 
    /*************************************/
    // ACCOUNT
    {
        method: 'post',
        path: '/account',
        handle: {
            type: 'mutation',
            name: 'createAccount'
        },
        tags: ['Account'] 
    },{
        method: 'get',
        path: '/account',
        handle: {
            type: 'query',
            name: 'accounts'
        },
        tags: ['Account'] 
    }
];
 
  • swagger: Nếu có sẽ gen ra link doc swagger. info, servers, components, security theo như config của swagger
swagger = {
   info: {
        title: 'Sample API',
        version: '0.1.9'
    },
    servers: [
        {
            url: '/api'
        }
    ],
    components: {
        securitySchemes: {
            // Định nghĩa các kiểu authen https://swagger.io/docs/specification/authentication/
            BearerAuth: {
                type: 'http',
                scheme: 'bearer'
            }
        }
    },
    //Áp dụng security global cho tất cả api
    security: [
        {
            BearerAuth: []
        }
    ]
}
 
  • graphql: Nếu có giá trị true thì sẽ gen ra link doc graphql như graphqli của express-graphql.
  • formatContext: Là function để format context cho graphql(). Nếu formatContext không có thì request sẽ được gán vào context.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.2.121latest

Version History

VersionDownloads (Last 7 Days)Published
0.2.121
0.2.110
0.2.101
0.2.90
0.2.80
0.2.70
0.2.60
0.2.40
0.2.30
0.2.20
0.2.10
0.2.00
0.1.81
0.1.70
0.1.60
0.1.50
0.1.40
0.1.30
0.1.20
0.1.10
0.1.00
0.0.280
0.0.270
0.0.260
0.0.250
0.0.240
0.0.230
0.0.220
0.0.210
0.0.200
0.0.190
0.0.180

Package Sidebar

Install

npm i graphql-to-restapi

Weekly Downloads

3

Version

0.2.12

License

ISC

Unpacked Size

39.6 kB

Total Files

15

Last publish

Collaborators

  • thanhtuan