Node.js 如何在单个服务设置中放置路由别名,而不是在Molecular中放置API网关服务
正如文档中提到的,路由别名可以放在API服务中,但是我想把别名放在单独的服务设置中,我该怎么做呢 假设我有一个用户服务和API网关 用户服务有一个角色操作,它只会返回id作为示例 如果我向/users/role/1发送get请求,我将得到1作为结果 它是这样工作的 api.service.js 严格使用; const ApiGateway=requiremoleculer-web; module.exports={ 名称:api, mixins:[ApiGateway], 设置:{ 端口:process.env.port | | 3000, 路线:[{ 路径:/api, 白名单:[ //在/api URL下访问所有服务中的任何操作 ** ], 别名:{ 获取用户/role/:uid:users.role } }], //从公用文件夹服务资产 资产:{ 文件夹:public }, }, }; users.service.js 严格使用; module.exports={ 名称:用户, /** *服务设置 */ 设置:{}, /** *行动 */ 行动:{ 角色:{ 缓存:{ 密钥:[uid] }, rest:GET role/:uid, handlerctx{ 返回ctx.params.uid } } }, }; 我想要这样的东西 api.service.js 严格使用; const ApiGateway=requiremoleculer-web; module.exports={ 名称:api, mixins:[ApiGateway], 设置:{ 端口:process.env.port | | 3000, 路线:[{ 路径:/api, 白名单:[ //在/api URL下访问所有服务中的任何操作 ** ] }], //从公用文件夹服务资产 资产:{ 文件夹:public }, }, }; users.service.js 严格使用; module.exports={ 名称:用户, /** *服务设置 */ 设置:{ 路线:[{ 路径:/, 别名:{ 获取角色/:uid:role } }], }, /** *行动 */ 行动:{ 角色:{ 缓存:{ 密钥:[uid] }, rest:GET role/:uid, handlerctx{ 返回ctx.params.uid } } }, }; 目标是每个服务在其自己的项目中分离,任何服务的别名都可以放在其中,而不是放在API服务中Node.js 如何在单个服务设置中放置路由别名,而不是在Molecular中放置API网关服务,node.js,microservices,moleculer,Node.js,Microservices,Moleculer,正如文档中提到的,路由别名可以放在API服务中,但是我想把别名放在单独的服务设置中,我该怎么做呢 假设我有一个用户服务和API网关 用户服务有一个角色操作,它只会返回id作为示例 如果我向/users/role/1发送get请求,我将得到1作为结果 它是这样工作的 api.service.js 严格使用; const ApiGateway=requiremoleculer-web; module.exports={ 名称:api, mixins:[ApiGateway], 设置:{ 端口:pro
// api.service.js
module.exports = {
mixins: [ApiGateway],
settings: {
port: process.env.PORT || 3000,
routes: [
{
path: "/",
whitelist: [
"users.**"
],
autoAliases: true
}
]
}
};
// users.service.js
module.exports = {
name: "users",
settings: {
// Base path
rest: "users/"
},
actions: {
role: {
cache: {
keys: ["uid"]
},
rest: "GET role/:uid",
handler(ctx) {
return ctx.params.uid
}
}
}
};