微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将带有请求参数的 API 请求链接到在另一个端口上运行的 graphql 服务器查询

如何解决如何将带有请求参数的 API 请求链接到在另一个端口上运行的 graphql 服务器查询

我在某个端口上运行了一个 API 网关。 有一个 API 端点:fetch/products/。 来自这个 API 端点的请求和一些请求参数需要发送到 graphql 服务器。 如何将这些 JSON 请求参数动态发送到 graphql?

Server1.js

const typeDefs = `
  type Query {getproducts(p1: String!,p2: String!,p3: String!,p4: String!,p5:String!
   }
`}

const resolvers = {
  Query: {
    getproducts: async (_,{p1,p2,p3,p4,p5}) => {
         
      const response = await fetch(`http://service1.com/fetch/products/?p1=${p1}&p2=${p2}&p3=${p3}`);
      const data = await response.json();
      const response2 = await fetch(`http://service2.com/fetch/items/?p1=${p1}&p4=${p4}&p5=${p5}`);
      const data = await response2.json();
     return response1+response2;
}}};

const server = new ApolloServer({ typeDefs,resolvers });

server.listen({ port: 1000});  

api-gateway 服务器文件

来自 api-gateway 的请求来自不同的端口:

/fetch/products/?p1=value1&p2=value2&p3=value3&p4=value4&p5=value5&p6=value6

#如何以这种形式将此请求发送到graphql服务器:

http://localhost:1000/graphql/?query={getproducts(p1:"p1",p2:"p2",p3:"p3",p4:"p4",p5:"p5")}

当我从 API 请求创建对象并对其进行 stringyfy 时,我也得到字符串中的键。

 http://localhost:1000/graphql/?query={getproducts("p1":"p1","p2":"p2","p3":"p3","p4":"p4","p5":"p5")} 
    

如何处理?或者其他一些方法来处理从 api-gateway 到带有请求参数的 graphql 服务器的请求。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。