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
;;const app = ; app; app;
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ủaexpress-graphql
.formatContext
: Là function để formatcontext
chographql()
. NếuformatContext
không có thìrequest
sẽ được gán vào context.