Я пытаюсь запросить образец пива Couchbase.
Этот запрос отлично работает в пользовательском интерфейсе браузера Couchbase:
select category, style from `beer-sample` where style like 'Imperial%'
Полученные результаты:
[
{
"category": "North American Ale",
"style": "Imperial or Double India Pale Ale"
},
...
]
Но когда я трансплантирую запрос в java, я получаю очень странные результаты. (Да, я знаю, что открываю / закрываю соединение не в том месте, просто делаю это для быстрого изучения синтаксиса / функций Couchbase).
Код Java:
@RequestMapping("/hellocouchbase")
public ResponseEntity<List<JsonObject>> metrics() {
Cluster cluster = CouchbaseCluster.create();
cluster.authenticate(username, passwd);
Bucket bucket = cluster.openBucket("beer-sample");
N1qlQueryResult result = bucket.query(N1qlQuery.simple("select category, style from `beer-sample` where style like 'Imperial%'"));
List<N1qlQueryRow> results = result.allRows();
List<JsonObject> answer = new ArrayList<>(results.size());
for(N1qlQueryRow row:results) {
answer.add(row.value());
}
cluster.disconnect();
return ResponseEntity.status(200).body(answer);
}
Полученные результаты:
[
{"cryptoManager":null,"empty":false,"names":["style","category"]},{"cryptoManager":null,"empty":false,"names":["style","category"]},
...
]
Может кто-нибудь объяснить, как заставить Java-запрос давать те же результаты, что и прямой запрос?