Vibe.d оставшийся интерфейс маршрутизатора неверный путь
Я использую vibe.d для моего API отдыха. У меня есть два метода: addUser
а также getUser
, я использовал @path("/api/v3/users/")
Теперь URL должен выглядеть следующим образом: http://127.0.0.1:8080/api/v3/users/user. Метод POST отлично работает с этим URL, но я не могу заставить работать метод GET.
Я использую тот же url (? SomeParams), но сервер отвечает 404. Я заметил, что когда я использую URL http://127.0.0.1:8080/api/v3/users/user/user, он говорит: "Неожиданный 'u" при преобразовании из строки типа в тип int ", но если я ставьте что-либо кроме пользователя после /, снова выдает 404.
Я уверен, что я упустил из виду какую-то глупую ошибку:D
Интерфейс:
@path("/api/v3/auth/")
interface IUserAPI
{
/** Adding a user */
User addUser(string email, string firstName, string lastName, string password, string locale);
/** Getting a user by id */
User getUser(int id);
}
Учебный класс:
/** User API */
class UserAPI : IUserAPI {
/** Testing user */
User user;
/** Adding a user */
@safe
User addUser(string email, string firstName, string lastName, string password, string locale) {
user = User(1, 0, email, firstName, lastName, password, locale, 0, false, "","", 0, "");
return user;
}
/** Getting a user by id */
@safe
User getUser(int id) {
logInfo(id.to!string);
return user;
}
}<br>
Регистрация остальных интерфейсов:
router.registerRestInterface(new UserAPI, MethodStyle.camelCase);
router.registerRestInterface(new LogsListAPI, MethodStyle.camelCase);
1 ответ
После некоторых копаний я нашел свой ответ. Когда вы используете id в качестве параметра, он помещается прямо в URL. Как http://whatever.com/api/1(id)/user.