我们在测试导游应用https://github.com/Fiware/tutorials.TourGuide-App
时发现attributesFormat=object
存在问题
如果我们执行以下请求:
curl <cb_host>:<cb_port>/v1/contextEntities/type/Restaurant/id/Elizalde -s -S --header 'Content-Type: application/json' --header 'x-auth-token:<token>' --header 'Fiware-service: tourguide' --header 'Accept: application/json'
我们得到这个有效的JSON:
{
"contextElement" : {
"type" : "Restaurant",
"isPattern" : "false",
"id" : "Elizalde",
"attributes" : [
{
"name" : "address",
"type" : "",
"value" : {
"type" : "postalAddress",
"streetAddress" : "Cuesta de las Cabras Aldapa 2",
"addressRegion" : "Araba",
"addressLocality" : "Alegría-Dulantzi",
"postalCode" : "01240"
}
},
{
"name" : "aggregateRating",
"type" : "",
"value" : {
"reviewCount" : 1,
"ratingValue" : 3
}
},
{
"name" : "capacity",
"type" : "PropertyValue",
"value" : 120,
"metadatas" : [
{
"name" : "name",
"type" : "",
"value" : "capacity"
}
]
},
{
"name" : "department",
"type" : "",
"value" : "Franchise3"
},
{
"name" : "description",
"type" : "",
"value" : "Restaurante de estilo sidrería ubicado en Alegria-Dulantzi. Además de su menú del día y carta, también ofrece menú de sidrería. El menú del día cuesta 9 euros. Los fines de semana la especialidad de la casa son las alubias con sacramentos. En lo que a bebidas se refiere, hay una amplia selección además de la sidra. Cabe destacar que se puede hacer txotx. La capacidad del establecimiento es de 50 personas pero la sidrería no dispone de aparcamiento.%5cn%5cnHORARIO: %5cn%5cnLunes a domingo: 9:00-17:00 y 19:00-23:00."
},
{
"name" : "occupancyLevels",
"type" : "PropertyValue",
"value" : 0,
"metadatas" : [
{
"name" : "timestamp",
"type" : "",
"value" : ""
},
{
"name" : "name",
"type" : "",
"value" : "occupancyLevels"
}
]
},
{
"name" : "position",
"type" : "coords",
"value" : "42.8404625, -2.5123277",
"metadatas" : [
{
"name" : "location",
"type" : "string",
"value" : "WGS84"
}
]
},
{
"name" : "priceRange",
"type" : "",
"value" : 0
},
{
"name" : "telephone",
"type" : "",
"value" : "945 400 868"
}
]
},
"statusCode" : {
"code" : "200",
"reasonPhrase" : "OK"
}
}
但是如果我们使用attributesFormat = object:
curl <cb_host>:<cb_port>/v1/contextEntities/type/Restaurant/id/Elizalde?attributesFormat=object -s -S --header 'Content-Type: application/json' --header 'x-auth-token:<token>' --header 'Fiware-service: tourguide' --header 'Accept: application/json'
我们得到这个无效的JSON:
{
"contextElement": {
"type": "Restaurant",
"isPattern": "false",
"id": "Elizalde",
"attributes": {
"address": {
"type": "",
"value": {
"type": "postalAddress",
"streetAddress": "Cuesta de las Cabras Aldapa 2",
"addressRegion": "Araba",
"addressLocality": "Alegría-Dulantzi",
"postalCode": "01240"
}
},
"aggregateRating": {
"type": "",
"value": {
"reviewCount": 1,
"ratingValue": 3
}
},
"capacity": {
"type": "PropertyValue",
"120",
"metadatas": [{
"name": "name",
"type": "",
"value": "capacity"
}]
},
"department": {
"type": "",
"value": "Franchise3"
},
"description": {
"type": "",
"value": "Restaurante de estilo sidrería ubicado en Alegria-Dulantzi. Además de su menú del día y carta, también ofrece menú de sidrería. El menú del día cuesta 9 euros. Los fines de semana la especialidad de la casa son las alubias con sacramentos. En lo que a bebidas se refiere, hay una amplia selección además de la sidra. Cabe destacar que se puede hacer txotx. La capacidad del establecimiento es de 50 personas pero la sidrería no dispone de aparcamiento.%5cn%5cnHORARIO: %5cn%5cnLunes a domingo: 9:00-17:00 y 19:00-23:00."
},
"occupancyLevels": {
"type": "PropertyValue",
"0",
"metadatas": [{
"name": "timestamp",
"type": "",
"value": ""
}, {
"name": "name",
"type": "",
"value": "occupancyLevels"
}]
},
"position": {
"type": "coords",
"value": "42.8404625, -2.5123277",
"metadatas": [{
"name": "location",
"type": "string",
"value": "WGS84"
}]
},
"priceRange": {
"type": "",
"0"
},
"telephone": {
"type": "",
"value": "945 400 868"
}
}
},
"statusCode": {
"code": "200",
"reasonPhrase": "OK"
}
}
复制步骤:
cd fiware-devguide-app/docker/compose
和docker-compose -f docker-compose.yml up
有关猎户座版的信息:
<orion>
<version>0.28.0</version>
<uptime>0 d, 1 h, 12 m, 25 s</uptime>
<git_hash>aaf8020a5de680b6d7e0c00c70cf425bcc4f39c8</git_hash>
<compile_time>Mon Mar 21 13:20:37 UTC 2016</compile_time>
<compiled_by>root</compiled_by>
<compiled_in>838a42ae8431</compiled_in>
</orion>
答案 0 :(得分:1)
这是由于Orion 0.28.0中attributeFormat=object
呈现的错误所致。该错误将在Orion 1.1.0中修复,将于2016年4月底发布(它现在即将合并到开发分支中,如果您想监控进度,则为the PR。) p>