首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在composer rest服务器中,PUT请求在多用户模式下抛出无法读取未定义的属性'productId‘

在composer rest服务器中,PUT请求在多用户模式下抛出无法读取未定义的属性'productId‘
EN

Stack Overflow用户
提问于 2018-08-28 20:49:36
回答 1查看 84关注 0票数 0

我使用的是composer版本0.19.12和fabric 1.1

Composer rest服务器在多用户模式下不传递id(唯一键)数据字段时抛出Cannot read property 'productId' of undefined,数据被更新。但在单用户模式下运行时,它工作得很好。

这是我的模型文件。

代码语言:javascript
运行
复制
 asset Product identified by productId{
     o String productId
     o String productTitle
     --> SubSupplier subSupplier optional
     --> Supplier supplier optional
}

传入的参数:

结果:

docker ps:

EN

回答 1

Stack Overflow用户

发布于 2018-08-28 23:16:26

我刚刚测试了您的模型的一个简单版本(没有关系字段),我在REST服务器上获得了与单用户和多用户相同的行为。

代码语言:javascript
运行
复制
asset P2 identified by productId {
  o String productId
  o String productTitle
}

我使用的是最新的Composer v0.20.0和Fabric 1.2

如果我在JSON中包含productId:

代码语言:javascript
运行
复制
{
  "$class": "org.fabric.vendor.P2",
  "productId": "11",
  "productTitle": "thirteen"
}

在单用户和多用户模式下都会失败,并显示相同的错误:Unhandled error for request PUT /api/P2/11: Error: id property (productId) cannot be updated from 11 to 11

当我删除产品Id时:

代码语言:javascript
运行
复制
{
  "$class": "org.fabric.vendor.P2",
  "productTitle": "thirteen"
}

无论是单用户还是多用户,它都能很好地支持

我认为您看到的错误很可能是由于模型更改之前Fabric上的一些旧数据造成的。您可以尝试创建一些具有完全不同的productIds和值的新测试数据,这可能会起作用,但我建议从一个干净的Fabric和新的业务网络开始,使用一个更简单的模型并重新测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52058371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档