我正在使用Vert.x爲我的類Java數據庫服務製作REST api。 這不是太難治寫JSON結果作爲字符串請求的流,如下圖所示:如何在Vert.x中使用傑克遜的JSON結果流(Java)
...
routeMatcher.get("/myservice/api/v1/query/:query", req -> {
// get query
String querySring = req.params().get("query");
Query query = jsonMapper.readValue(querySring, Query.class);
// my service creates a list of resulting records...
List<Record> result = myservice.query(query);
String jsonResult = jsonMapper.writeValueAsString(result);
// write entire string to response
req.response().headers().set("Content-Type", "application/json; charset=UTF-8");
req.response().end(jsonResult);
});
...
不過,我想用傑克遜的方法以流式Java列表請求對象:
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.writeValue(Outputstream, result);
但我不知道如何傑克遜的OutputStream參數連接到Vert.x的re.response(),因爲他們有自己的Buffer系統,似乎與傑克遜的java.io.OutputStream中的說法不符。
我不能將Jackson與Vert.x結合使用嗎?我應該用Vert.x自己的JSON library手動編寫自定義序列化程序嗎?其他建議?