3

how can i use adonis with GraphQL?

i had search much more Tutorial but never,so i have to ask for help to you

i had create schema.ts in project like this :

import { makeExecutableSchema } from 'graphql-tools'
import resolvers from './resolvers'
// Define our schema using the GraphQL schema language
const typeDefs = `
  type Items {
    id: Int!
    type:String
  }
  type Query {
    fetchItems(): [Items]
  }
`
export default makeExecutableSchema({ typeDefs, resolvers })
import Button from 'App/Models/Button'

// Define resolvers
const resolvers = {
  Query: {
    async fetchItems() {
      const button = await Button.findBy('id', 1)

      return button?.buttons || []
    },
  },
}
export default resolvers

but i do not known how use grapql in route.js.

i try code like this but failed

'use strict'
const Route = use('Route')
const GraphqlAdonis = use('ApolloServer')
const schema = require('../app/data/schema')

Route.route(
  '/graphql',
  ({ request, auth, response }) => {
    return GraphqlAdonis.graphql(
      {
        schema,
        context: { auth },
      },
      request,
      response
    )
  },
  ['GET', 'POST']
)

Route.get('/graphiql', ({ request, response }) => {
  return GraphqlAdonis.graphiql({ endpointURL: '/graphql' }, request, response)
})

Attach my profile package.json:

  "dependencies": {
    "@adonisjs/core": "^5.7.5",
    "@adonisjs/lucid": "^17.2.0",
    "@adonisjs/repl": "^3.1.10",
    "adonis-apollo-server": "^1.0.2",
    "graphql": "^16.3.0",
    "graphql-tools": "^8.2.7",
    "luxon": "^2.3.1",
    "pg": "^8.7.3",
    "proxy-addr": "^2.0.7",
    "reflect-metadata": "^0.1.13",
    "slugify": "^1.6.5",
    "source-map-support": "^0.5.21"
  }

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.