1

根据阅读我的 angular-in-memory-web api '内存中的 web api 库当前假定每个集合都有一个名为 id 的主键' 有没有没有 id 的选项?因为我想生成以下响应

{
    success: boolean;
    token: string;
}

是否也可以自己生成一个字符串,因为我的应用程序在发布后返回一个字符串。

4

2 回答 2

2

'id' 是必须的,尽管你可以忽略并且不能使用它。

但是没有 id API 将无法工作并且会报错。

集合“您的集合名称”ID 类型为非数字或未知。只能生成数字 id

于 2019-03-22T06:52:53.657 回答
1

我发现它比这更糟糕。

您不仅必须在每个调用的表中都有一个主键值,id而且它必须是一个字符串,而不是一个数字。(嗯?!!)

如果您不这样做,当您尝试调用 PUT 端点时,Angular 代码将在此行抛出错误:

BackendService.prototype.put = function (_a) {
    . . . 
    if (id && id !== item.id) {
        return this.createErrorResponseOptions(url, STATUS.BAD_REQUEST, "Request for '" + collectionName + "' id does not match item.id");
    }

如果你的表包含一个数值 id,那么这一行将结束与类似"100"的比较100,并会抛出一个错误。

(叹。)

于 2020-07-13T12:18:39.027 回答