id 在 angular-in-memory-web-api 中应该是可选的

id should be optional in angular-in-memory-web-api

根据阅读我的 angular-in-memory-web api 'The in-memory web api library currently assumes that every collection has a primary key called id' 有没有没有id的选项?因为我想生成以下响应

{
    success: boolean;
    token: string;
}

是否也可以生成自己的字符串,如我的应用程序 returns 生成 post 后的字符串。

'id'是必须的,虽然你可以忽略也不能使用它。

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

Collection 'your collection name' id type is non-numeric or unknown. Can only generate numeric ids

我发现情况比这更糟。

您不仅必须在每个 table 中有一个名为 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");
    }

如果您的 table 包含 numeric id 值,则此行将结束比较 "100"100,会报错。

(叹气。)