如何在Dropwizard项目中使用Couchbase Java Client?

ben*_*ith 6 java jackson couchbase dropwizard

我一直在查看couchbase-java-client项目,并想知道是否可以在dropwizard项目中使用它.

它看起来很自然,因为couchbase基本上是一个JSON数据库,但java客户端似乎与Jackson不兼容.据我所知,couchbase客户端库包含它自己的JSON库的内部实现,它与那里的所有其他java JSON库不兼容,这真的很奇怪.

我发现JacksonTransformers课程起初很有前途.但仔细观察后,图书馆正在使用一个带阴影版的杰克逊(带有重写的包com.couchbase.client.deps.com.fasterxml.jackson.core).

无论如何,由于dropwizard使用Jackson和Jersey通过REST API编组JSON文档,使用couchbase-java-client库的摩擦力最小的方法是什么?在这种情况下甚至可能吗?

Cam*_*spo 3

绝对可以将 Couchbase 与 Dropwizard 一起使用。客户端 SDK 提供 JSON 操作对象以方便开发人员,但它也允许将 JSON 处理委托给 Jackson 或 GS​​ON 等库。看看这里的RawJsonDocument班级。基本上,您可以使用字符串化 JSON(来自任何框架)来创建这些对象之一,客户端 SDK 会将其理解为任何操作的 JSON 文档,即:

String content = "{\"hello\": \"couchbase\", \"active\": true}";
bucket.upsert(RawJsonDocument.create("rawJsonDoc", content));
Run Code Online (Sandbox Code Playgroud)