Пользовательские остальные API для CouchDB?

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

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

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
534
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

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

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);

Другие вопросы по теме