Пользовательские API для отдыха для CouchDB? - PullRequest
1 голос
/ 12 июня 2019

Я гуглил, пытаясь найти примеры или просто прямой ответ на мой вопрос. Можно ли создать / расширить мои собственные конечные точки API для couchDB? Например, можно ли создать вызов API, например, http://127.0.0.1:5984/database/FillDatabase/..., чтобы заполнить базу данных данными?

Если couchDB действительно обеспечивает эту функциональность, то, пожалуйста, предоставьте мне ссылку, возможно, на какое-нибудь руководство / пример / пример. Спасибо.

Ответы [ 2 ]

2 голосов
/ 13 июня 2019

API для массовых документов CouchDB позволяет создавать и обновлять одновременно несколько документов в рамках одного HTTP-запроса

С помощью класса Angular HttpClient, например, это можно сделатьследующим образом:

const baseURL = 'http://localhost:5984/';
let httpHeaders = new HttpHeaders();
httpHeaders = httpHeaders.set('Accept', 'application/json');
httpHeaders = httpHeaders.set('Content-type', 'application/json');
httpHeaders = httpHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));
const httpOptions = { headers: httpHeaders, withCredentials: true };

this.httpClient.post<any>(baseURL + database + '/_bulk_docs',
      { docs: myDocuments }, httpOptions);
1 голос
/ 12 июня 2019

Вы можете хотите _rewrites функцию , которая позволяет любому представлению перезаписывать входящий URL для этой базы данных .

Однако для API корневого уровня и для простоты настройки считается, что лучше навязать веб-движок перед CouchDB (nginx, сервер node.js и т. Д.). _rewrites достаточно гибок, чтобы упростить API для конкретной базы данных, но он не предназначен для обработки всех входящих запросов и может быстро стать громоздким.

Вы также будете ограничены работой, которую может выполнять CouchDB - например, пользовательский API FillDatabase должен будет соответствовать массовому API.

...