Vibe.d rest接口路由器路径匹配错误



我的其余API使用vibe.d。我有两种方法:addUsergetUser。我使用了@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,它说"从类型string转换为类型int时意外的'u'",但如果我在/后面放了user以外的任何东西,它会再次抛出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>

正在注册rest接口:

router.registerRestInterface(new UserAPI, MethodStyle.camelCase);
router.registerRestInterface(new LogsListAPI, MethodStyle.camelCase);

经过一番挖掘,我找到了答案。当您使用id作为参数时,它会将其直接放在URL中。喜欢http://whatever.com/api/1(id(/user。

相关内容

  • 没有找到相关文章

最新更新