Vibe.D - неопределенный идентификатор (Dlang)
Я пытаюсь создать простой REST API, но когда я пытаюсь скомпилировать код, я получаю
frontpage.d(15,3): Ошибка: неопределенный идентификатор 'tmp', вы имели в виду псевдоним 'cmp'?
Вот мой код:
module service.frontpage;
import vibe.d;
@path("/api")
interface IFrontPageAPI
{
Json getHome();
}
class FrontPageAPI : IFrontPageAPI
{
this(auto tmp)
{
auto collect = tmp;
}
Json getHome()
{
logInfo("Getting HomePage from DB");
Bson query = Bson(["_id" : Bson("homepage")]);
auto result = collect.find(query);
logInfo("Iterating results...");
foreach (i, doc; result.byPair)
logInfo("Item %d: %s", i, doc.toJson().toString());
return result.toJson();
}
}
Может ли кто-нибудь помочь мне с этим? tmp - временная переменная для передачи обработчику коллекции mongoDB.
1 ответ
Решение
Тот же ответ, что и на DLearn.
Вам нужно - использовать переменные класса - использовать типы вместо auto (здесь коллекция Mongo) - вернуть правильный Json
Посмотрите на этот интерактивный пример - и не стесняйтесь играть с ним. Отсутствие вывода означает отсутствие ошибки компиляции.