actualmente estoy escribiendo una API GraphQL con ApolloServer/NodeJS. Tengo una base de datos MySQL. Como soy nuevo en este tema, no tengo idea de cómo puedo obtener datos directamente de mi base de datos. Mi api envía información del artículo al cliente (este es el único propósito de mi api). El cliente puede buscar un artículo específico a través de la identificación (cada artículo/producto tiene una identificación específica en la base de datos. La identificación que el cliente está ingresando debe compararse con la identificación en la base de datos. Entonces, si la identificación = 1, entonces la api debería cuide el artículo que tiene el id = 1 en la BASE DE DATOS y envíe la información solicitada sobre ESTE artículo al cliente (sé que esto podría ser mejor con PHP, pero tengo algunos problemas con PHP). sé cómo puedo escribir esto en mi resolutor.
Aquí está mi resolutor:
const models = require('../models'); module.exports = { Query: { article: (parent, {id}) => { return models.articledata.find( (c) => c.id == id ); } }, Node: { __resolveType(node) { if(node.toObject().name){ return 'Article'; } } } }Aquí están mis modelos:
let articledata = [{ id: 1, name: 'title', description: 'Beispiel', imgs: 'www.test.de/img', btnLink: 'shoplink', headline: 'Spicy das neue Spiel', introduction: 'Beispiel', definition: 'Beispiel', tutorial: 'Beispiel', specsText: 'Beispiel', endText: 'Beispiel', age: 12, duration: 30, players: 12, category: 'Beispiel', designer: 'Beispiel', language: 'Deutsch', releaseDate: 2020, topic: 'Beispiel', }]; module.exports = { articledata };Y aquí está mi index.js:
const { ApolloServer } = require('apollo-server'); const schema = require('./schema'); const resolvers = require('./resolvers'); const server = new ApolloServer({ typeDefs: schema, resolvers, dataSources: () => { articleAPI: new ArticleAPI() } }) //The listen-method launches a web server server.listen().then(({ url }) => { console.log('Server ready at ${url}'); });Por supuesto que busqué en la web, pero nada parece funcionar para mí. me alegro mucho de tu ayuda!!
¿Revisó la documentación del servidor Apollo? Hay mucha información buena sobre la conexión de fuentes de datos a su servidor aquí .
Hay una sección sobre conexiones SQL aquí . La documentación señala que Apollo no proporciona conexiones SQL dedicadas en este momento, pero le muestra cómo crear una mediante un ejemplo.