0

我正在使用 vibe.d 作为我的休息 API。我有两种方法:addUsergetUser. 我使用@path("/api/v3/users/")了 ,所以现在 URL 应该如下所示:http://127.0.0.1:8080/api/v3/users/userPOST方法适用于这个URL,但我无法让GET方法工作。
我使用相同的 url (?someParams),但服务器以404响应。我注意到,当我使用 URL http://127.0.0.1:8080/api/v3/users/user/user时,它会显示“从字符串类型转换为 int 类型时出现意外的 'u'”,但如果我在 / 之后放置除用户之外的任何其他内容,它再次抛出 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);
4

1 回答 1

1

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

于 2018-11-09T20:11:42.497 回答