Hyperledger Composer REST API调用在概念中的某些变量上失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hyperledger Composer REST API调用在概念中的某些变量上失败相关的知识,希望对你有一定的参考价值。
我的资产“空气污染”中有一些概念,例如“一氧化碳”。但是如果我在终端中调用rest-composer-server,它会给我一些错误:
这是我的代码片段:
asset AirPollutionData identified by airPollutionDataId {
o String airPollutionDataId
o String location
o DateTime datetime
o TransferStatus status default="FOR_SALE"
o CO co
o NO2 no2
o O3 o3
o PM10 pm10
o PM25 pm25
o SO2 so2
--> Member owner
}
concept CO {
o String pollutant_description default="Carbon monoxide"
o String units default="ppb"
o Double concentration
}
concept NO2 {
o String pollutant_description default="Nitrogen dioxide"
o String units default="ppb"
o Double concentration
}
concept O3 {
o String pollutant_description default="Ozone"
o String units default="ppb"
o Double concentration
}
concept PM10 {
o String pollutant_description default="Inhalable particulate matter (<10µm)"
o String units default="ug/m3"
o Double concentration
}
concept PM25 {
o String pollutant_description default="Fine particulate matter (<2.5µm)"
o String units default="ug/m3"
o Double concentration
}
concept SO2 {
o String pollutant_description default="Sulfur dioxide"
o String units default="ug/m3"
o Double concentration
}
这里出了什么问题?在我原始的角度应用程序中,如果我想添加资产,我没有看到概念的默认值,例如污染物描述或单位。
这就是我的意思:default values gone
它对我有用。请参阅下面创建的AirPollutionData
资产的屏幕截图。
Swagger消息只是忽略了Concepts(它们不是资源端点)。
您发布的模型有错误:
你在这两个方面缺少定义(我创建了这些样本,只是为了让它起作用):
concept TransferStatus {
o String id
}
participant Member identified by id {
o String id
}
{“$ class”:“org.acme.trading.AirPollutionData”,“airPollutionDataId”:“3941”,“location”:“Labore nisi esse incididunt non。”,“datetime”:“2018-03-05T16:59: 23.239Z“,”status“:{”$ class“:”org.acme.trading.TransferStatus“,”id“:”在aute中。“ },“co”:{“$ class”:“org.acme.trading.CO”,“污染物处理”:“一氧化碳”,“单位”:“ppb”,“浓度”:248.394},“no2”: {“$ class”:“org.acme.trading.NO2”,“污染物处理”:“二氧化氮”,“单位”:“ppb”,“浓度”:50.636},“o3”:{“$ class”: “org.acme.trading.O3”,“pollutant_description”:“臭氧”,“单位”:“ppb”,“浓度”:144.997},“pm10”:{“$ class”:“org.acme.trading。 PM10“,”污染物描述“:”可吸入颗粒物(<10μm)“,”单位“:”ug / m3“,”浓度“:0.595},”pm25“:{”$ class“:”org.acme.trading .PM25“,”污染物处理“:”细颗粒物质(<2.5μm)“,”单位“:”ug / m3“,”浓度“:60.074},”so2“:{”$ class“:”org.acme .trading.SO2“,”污染物处理“:”二氧化硫“,”单位“:”ug / m3“,”浓度“:189.644},”所有者“:”资源:org.acme.trading.Member#1“}
至于在Angular生成的字段中没有显示的默认值 - 我会发现。默认情况下,Playground中提供了这些默认值,但不确定这些默认值是否在骨架应用程序中可用(这正是它的原因,供开发人员使用)。当我对此有更多了解时,我会编辑这个。
以上是关于Hyperledger Composer REST API调用在概念中的某些变量上失败的主要内容,如果未能解决你的问题,请参考以下文章
区块链100讲:Hyperledger Composer及其开发流程
Ubuntu上的Hyperledger composer CLI安装问题