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

Посмотрите на этот интерактивный пример - и не стесняйтесь играть с ним. Отсутствие вывода означает отсутствие ошибки компиляции.

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