大佬教程收集整理的这篇文章主要介绍了连接 ECONNREFUSED,阿波罗联盟,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我决定通过他们网站上的例子来研究阿波罗联盟。我尝试在联合下合并三个服务,但我发现了这个错误:
检查服务定义更改时出错:无法在 http://localhost:4001 加载“帐户”的服务定义:请求 http://localhost:4001/ 失败,原因:连接 ECONNREFUSED 127.0 .0.1:4001 此数据图缺少有效配置。无法在 http://localhost:4001 加载“帐户”的服务定义:请求 http://localhost:4001/ 失败,原因:connect ECONNREFUSED 127.0.0.1:4001
服务代码和阿波罗网关:
帐户
const { ApolloServer,gql } = require('apollo-server');
const { buildFederatedscheR_345_11845@a } = require('@apollo/federation');
const typeDefs = gql`
extend type query {
me: User
}
type User @key(fIElds: "ID") {
ID: ID!
username: String
}
`;
const resolvers = {
query: {
me() {
return { ID: "1",username: "@ava" }
}
},User: {
__resolveReference(user,{ fetchUserByID }){
return fetchUserByID(user.ID)
}
}
}
const server = new ApolloServer({
scheR_345_11845@a: buildFederatedscheR_345_11845@a([{ typeDefs,resolvers }]),introspection: true
});
server.Listen(4001).then(({ url }) => {
console.log(`? Server ready at ${url}`);
});
产品
const { ApolloServer,gql } = require('apollo-server');
const { buildFederatedscheR_345_11845@a } = require('@apollo/federation');
const typeDefs = gql`
extend type query {
topProducts: Product
}
type Product @key(fIElds: "upc") {
upc: String!
name: String!
price: Int
}
`;
const resolvers = {
query: {
topProducts() {
return { upc: "one",name: "Computer",price: "3000" }
}
},Product: {
__resolveReference(Product,{ fetchProductByupc }){
return fetchProductByupc(Product.upC)
}
}
}
const server = new ApolloServer({
scheR_345_11845@a: buildFederatedscheR_345_11845@a([{ typeDefs,introspection: true
});
server.Listen(4002).then(({ url }) => {
console.log(`? Server ready at ${url}`);
});
评论
const { ApolloServer,gql } = require('apollo-server');
const { buildFederatedscheR_345_11845@a } = require('@apollo/federation');
const typeDefs = gql`
type RevIEw {
body: String
author: User @provIDes(fIElds: "username")
product: Product
}
extend type User @key(fIElds: "ID") {
ID: ID! @external
revIEws: [RevIEw]
}
extend type Product @key(fIElds: "upc") {
upc: String! @external
revIEws: [RevIEw]
}
`;
const resolvers = {
RevIEw: {
body() {
return { body: "Very good",author,product }
}
},User: {
__resolveReference(body,{ fetchUserByauthor }){
return fetchUserByauthor(body.author)
}
}
}
const server = new ApolloServer({
scheR_345_11845@a: buildFederatedscheR_345_11845@a([{ typeDefs,introspection: true
});
server.Listen(4003).then(({ url }) => {
console.log(`? Server ready at ${url}`);
});
阿波罗网关
const { ApolloServer} = require('apollo-server');
const { ApolloGateway} = require('@apollo/gateway');
const gateway = new ApolloGateway({
serviceList: [
{ name: 'accounts',url: 'http://localhost:4001' },{ name: 'products',url: 'http://localhost:4002' },{ name: 'revIEws',url: 'http://localhost:4003' }
]
});
const server = new ApolloServer({ gateway,subscriptions: false });
server.Listen(4004).then(({ url }) => {
console.log(`? Server ready at ${url}`);
});
以上是大佬教程为你收集整理的连接 ECONNREFUSED,阿波罗联盟全部内容,希望文章能够帮你解决连接 ECONNREFUSED,阿波罗联盟所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。