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

我无法在 Express-Gateway 上访问我想要的数据

如何解决我无法在 Express-Gateway 上访问我想要的数据

干得好。

我用 Node JS 开发的项目运行在 8001 PORT

http://localhost:8001/companies_getAll (return data)

我将使用 express-gateway,因为我想安装微服务构建。但是,虽然我进行了下面的设置,但数据并没有返回给我。

http://localhost:8080/user (return "404 Not Found!")
http://localhost:8080/user/companies_getAll (return "Cannot GET /user/companies_getAll")

在Node JS端,我有这样一个命令。

const expressEndpoints = require('./endpoints/main')
expressApplication.use(expressEndpoints)

expressApplication.use((req,res) => {
    res.status(200).send('404 Not Found!')
})

expressApplication.listen(8001,() => {
    console.log('---------------------------------')
    console.log('Running User Service,PORT: 8001')
    console.log('---------------------------------')
})

最后我有了这样一个 YAML 文件

http:
  port: 8080
admin:
  port: 9876
  host: localhost
apiEndpoints:
  api:
    host: localhost
    paths: '/user'
serviceEndpoints:
  user:
    url: 'http://localhost:8001'
policies:
  - basic-auth
  - cors
  - expression
  - key-auth
  - log
  - oauth2
  - proxy
  - rate-limit
  - rewrite
pipelines:
  default:
    apiEndpoints:
      - api
    policies:
      - proxy:
          - action:
              serviceEndpoint: user
              changeOrigin: true

我无法访问“companies_getAll”。你能帮我解决这个问题吗?

解决方法

apiEndpoints section中,路径使用精确匹配;您需要完整地指定它:

paths: '/users/companies_getAll'

或者使用通配符:

paths: '/users/*'

或者有一组路径

paths:
- '/user'
- '/user/companies_getAll'

    

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