我正在使用NodeJS微服务扩展步骤9中提到的教程。然而,我有一些奇怪的问题,沟通到后端。
我所拥有的流程是一个应用程序路由器,它指向一个HTML5微服务(静态构建包),这消耗了一个NodeJS或一个NodeJS微服务。Java部件与身份验证作用域一起工作很好,但是对于NodeJS,当我调用相应的路径/节点/hello (hello应该返回来自服务器的函数输出)时,总是会出现404 (未找到)错误。
这是我用于路由的xs-app.json。
{
"welcomeFile": "index.html",
"authenticationMethod": "route",
"websockets": {
"enabled": true
},
"routes": [
{
"source": "/odata/v4/(.*)",
"target": "/odata/v4/$1",
"destination": "business-partner-api"
},
{
"source": "/",
"target": "/",
"destination": "business-partner-frontend"
},
{
"source": "/node/(.*)",
"target": "/$1",
"destination": "business-partner-node"
}
]
}问题是在/node块上,其他的工作很好。我还注意到了另一个奇怪的问题,即如果我将默认目标(/)从业务伙伴前端替换为业务伙伴节点,应用程序路由器成功地调用节点js服务器,并传播身份验证,因此该问题似乎与xs-app文件有关,而不是在目的地本身。
我还试图将端口添加到目的地并添加一个静态文件来映射html5项目,但没有成功。
我在节点部件配置中可能丢失了什么?
诚挚的问候,
发布于 2018-09-26 12:37:34
问题可能是您的路线的顺序,这是重要的路由。当前路径与source的第一次匹配将确定路由。在您的示例中,第二个路由的/匹配所有路径,包括/node/...。
重新排序您的路由,以便节点目的地位于前端目的地之前。
https://stackoverflow.com/questions/52516741
复制相似问题