Apollo GraphQL-使用apollo-datasource-rest库如何获取响应对象的特定部分

时间:2019-09-20 11:27:15

标签: node.js graphql apollo apollo-server

我正在使用NodeJS和Apollo GraphQL库,也正在使用apollo-datasource-rest模块,以便可以使用现有的REST Api。

现有Rest API的HTTP响应采用以下格式 {“ meta”:{“ Updated”:“ 2019-08-19T16:40:07.204Z”,“ NumResults”:425,},“ data”:[{。很多数据在这里。}]}“”

GraphQL无法使用此数据源,因为它期望返回的对象是数据。

如何使我的应用程序仅使用它对后端API的HTTP Fetch的数据元素

const { ApolloServer } = require('apollo-server');
const { RESTDataSource } = require('apollo-datasource-rest');
const typeDefs = require('./schema');
const resolvers = require('./resolvers');

class EndpointAPI extends RESTDataSource {

  constructor() {
    super();
    this.baseURL = 'https://myapi.com/api';
  }

 async getData() {
    return this.get()
  }

}

const server = new ApolloServer({
  typeDefs,
  resolvers,
  dataSources: () => ({
    EndpointAPI: new EndpointAPI()
  })
});



server.listen().then(({ url }) => {
  console.log(`? Server ready at ${url}`);
});

0 个答案:

没有答案