Том Регнер заслуживает первостепенной важности здесь за подсказку запроса, который дал этот ответ. Я публикую свои выводы здесь в качестве ответа, чтобы помочь другим, кто может столкнуться с этим.
Я не знаю, является ли это ошибкой, недостатком или просто предупреждением API, которое мне не было ясно. .. НО ...
Для того, чтобы префикс ' / _ db / [DBNAME / ' в конечной точке (например, полная конечная точка ' / _ db / [DBNAME / _api /) курсор '), который нужно зарегистрировать и использовать в заголовке запроса: arangodb :: fuerte ::, НЕ достаточно (по состоянию на 3.5.3 arangodb и версии fuerte, доступной на момент ответа) просто позвоните:
std::unique_ptr<fuerte::Request> request;
const char *endpoint = "/_db/[DBNAME/_api/cursor";
request = fuerte::createRequest(fuerte::RestVerb::Post,endpoint);
// and adding any arguments to the request using a VPackBuilder...
// in this case the query (omitted)
Чтобы имя базы данных было включено как часть такого запроса, вы должны дополнительно вызвать следующее:
request->header.parseArangoPath(endpoint);
Невозможность сделать это, похоже, приведет к ошибка о «неизвестном пути» .
Примечание 1: Простая установка переменной члена базы данных, ie
request->header.database = "[DBNAME]";
не работает.
Примечание 2: что операции без начального префикса ' / _ db / [DBNAME] / ', похоже, работают нормально с использованием текущей базы данных. (что, по крайней мере для меня, кажется, застряло в '_system', поскольку, насколько я могу судить, не существует конечной точки, чтобы изменить это через HTTP REST Api.)