2016-08-11 10 views
1

Согласно документации API REST API Couchbase Sync-Gateway here ниже упомянутой cURL следует создать документ в указанной базе данных.Couchbase создает документ с ошибкой через общедоступный открытый интерфейс с синхронизацией шлюза

Ниже приведено cURL от Postman.

curl -X PUT -H "Cache-Control: no-cache" -H "Postman-Token: 498d0fb6-77ac-9335-2379-14258c6731c7" -d '' "http://192.168.244.174:4984/db/" 

Я также попытался добавить JSON в тело запроса.

Но когда я посылаю запрос положенную через Почтальон, вместо того, чтобы создать новый документ, он пытается создать новую базу данных и ответ JSON является

{ 
"error": "Precondition Failed", 
"reason": "Database already exists" 
} 

Могу ли я что-то отсутствует или это была ошибка? Есть ли другой способ создать документ для синхронизации шлюза?

ответ

0

В документации имеется ошибка.

Согласно документации,

Вы можете либо указать идентификатор документа, включив объект _id в теле сообщения запроса, или пусть программного обеспечения генерировать идентификатор.

Но API-интерфейс Couchbase REST, похоже, не работает (возможно, они не обновляют свою документацию регулярно). Вам необходимо указать идентификатор в URL-адресе, например /{db}/{id}.

Нижняя часть cURL работала для меня.

curl -X PUT -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Postman-Token: 75ab844e-5130-708e-69e9-e87f878108b4" -d '{"name": "xxx", "full_name": "xxx yyy"}' "http://192.168.244.174:4984/db/123"

JSON ответ

{ 
    "id": "123", 
    "ok": true, 
    "rev": "1-9324dabc947fc963a754b113d1215ac3" 
}