将 REST-API 与入门指南一起使用 returns 500 错误

Using the REST-API with the getting started guide returns 500 error

按照 https://fabric-composer.github.io/start/getting-started-rest-api.html 中的说明,使用

测试生成的 api
curl -X GET --header "Accept: application/json" "http://0.0.0.0:3000/api/net.biz.digitalPropertyNetwork.LandTitle"

生成以下错误

 {
  "error": {
    "statusCode": 500,
    "name": "Error",
    "message": "No registered namespace for type net_biz_digitalPropertyNetwork_LandTitle",
    "stack": "Error: No registered namespace for type net_biz_digitalPropertyNetwork_LandTitle\n    at ModelManager.getType (/Users/matt/Documents/workspaces/blockchain/src/github.com/fabric-composer/sample-applications/node_modules/composer-common/lib/modelmanager.js:265:23)\n    at ensureConnected.then (/Users/matt/Documents/workspaces/blockchain/src/github.com/fabric-composer/sample-applications/node_modules/composer-loopback-connector/lib/businessnetworkconnector.js:198:53)\n    at process._tickDomainCallback (internal/process/next_tick.js:129:7)"
  }
}

我看到启动脚本将点换成下划线,也许其他地方也需要这个?

// this is required because LoopBack doesn't like dots in model schema names
    modelSchema.name = modelSchema.plural.replace(/\./g, '_');

作为参考,这是我的环回包的节点依赖关系

"dependencies": {
    "composer-loopback-connector": "^0.4.0",
    "compression": "^1.0.3",
    "cors": "^2.5.2",
    "helmet": "^1.3.0",
    "loopback": "^2.22.0",
    "loopback-boot": "^2.6.5",
    "loopback-component-explorer": "^2.4.0",
    "loopback-connector-composer": "^0.4.1",
    "loopback-datasource-juggler": "^2.39.0",
    "serve-favicon": "^2.0.1",
    "strong-error-handler": "^1.0.1"
  }

是的,关于引导脚本将点换成下划线的说法是正确的。这是由于 loopback 不接受模型名称中的点,因此引导脚本将它们换出,并且连接器在被 loopback 应用程序调用时会考虑到这一点。

这是 npm composer-connector-loopback 中原始连接器的问题。该版本尚未删除,但应该很快就会删除。

它已被重命名以使其与其他环回连接器保持一致,并且在 npm 中也作为 loopback-connector-composer

我会提出一个问题来更新您提到的 getting-started 指南,如果您可以切换到使用其他连接器,那么应​​该可以解决问题。 HTH.