如何解决如何将带有请求参数的 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 举报,一经查实,本站将立刻删除。