Я вставил вашу модель в Composer Playground и получил ошибку с названием вашего Актива, говоря, что Asset
было зарезервированным словом - если бы вы смогли развернуть эту модель, используя другой метод, я хотел бы знать, чтобы поднять проблему , Я использовал имя актива Ass1
для моего теста.
В вашем запросе необходимо заключить скобку в условие where, например WHERE (assetStatus == "invalid")
Чтобы ответить на ваш вопрос - вы создали запрос к свойству (assetStatus), но результирующий набор всегда будет списком полных активов , а не просто отдельным свойством (это отличается от SQL select).
Ваш запрос вернет активы, которые соответствуют 'недействительным', и владелец будет возвращен как ссылка на ресурс. например "owner": "resource:org.acme.myNetwork.Owner#AA1"
Если вы хотите получить все свойства Владельца, а не только идентификатор, вам придется написать второй запрос или выполнить запрос GET в реестре Владельца. В качестве альтернативы вы можете использовать фильтр при запросе GET к реестру Ass1 (Asset), который "разрешит" владельца.
То есть с этим фильтром: {"where":{"assetStatus":"invalid"}, "include":"resolve"}
в этой конечной точке /api/Ass1
, используя запрос GET, вы увидите такой результат:
{
"$class": "org.acme.myNetwork.Ass1",
"assetId": "WILL01",
"owner": {
"$class": "org.acme.myNetwork.Owner",
"ownerId": "AA1",
"ownerName": "Albert",
"ownerStatus": "VALID"
},
"assetStatus": "invalid"
}