我正在为Couchbase上的CRUD操作开发REST API。
想法是直接向后端发送来自请求主体的RAW Json。
Couchbase客户端根本不应该进行序列化。 实际上,您可以使用简单的字符串从商店中获取文档(无反序列化)。
据我所知,目前尚不支持。
我错了吗?
答案 0 :(得分:3)
Couchbase会将有效的原始JSON字符串视为文档,因此您只需将字符串作为值发送并以相同的方式返回。以下是最新.NET SDK(目前为2.1.1)的示例:
string json = "{\"a\":\"b\"}";
bucket.Upsert<string>("my_id", json);
var op = bucket.Get<string>("my_id");
var str = op.Value;
Debug.Assert(string.Equals(json, str));
查看Couchbase UI,我们可以看到我们的原始JSON字符串是一个正确的文档:
答案 1 :(得分:-1)
您可以针对Couchbase执行CRUD操作
来自Couchbase Documentation 的示例
以下示例从名为beer-db的数据库中检索标识为beer_#17_Cream_Ale的文档。由于标识符包含数字符号(#)字符,因此标识符必须在URI中进行URL编码。
请求
GET /beer-db/beer_%2317_Cream_Ale HTTP/1.1
Host: localhost:59840
响应
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: must-revalidate
Content-Length: 259
Content-Type: application/json
Date: Thu, 12 Dec 2013 21:12:28 GMT
Etag: "1-431506b53aeac96a225e619cfa7bb569"
Server: CouchbaseLite 1.486
{
"category" : "North American Lager",
"brewery" : "Big Ridge Brewing",
"style" : "American-Style Lager",
"updated" : "2010-07-22 20:00:20",
"_id" : "beer_#17_Cream_Ale",
"_rev" : "1-431506b53aeac96a225e619cfa7bb569",
"name" : "#17 Cream Ale"
}