问题标签 [miragejs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - MirageJS 不保留 POST 创建的数据
我正在使用 MirageJS 构建这个 VueJS 应用程序来模拟 API,我想出了这个问题。我有一个/users
端点来处理 GET 和 POST 请求。如果数据是由工厂创建的,则返回此数据。如果数据是由 POST 请求创建的,在表单中,我会收到一条Created - 201
消息,但是当我再次发出 GET 请求时,这个 POST 创建的数据不存在。MirageJS 是否只保留工厂创建的数据?
这是代码
这个服务器转储返回创建的数据,但是当我发出另一个 GET 请求时,它是空的。
miragejs - 有没有办法在不侧载或嵌入数据的情况下显示相关模型 ID
我的理解是 usingserializeIds: 'always'
会给我这些数据,但事实并非如此。
这就是我所期待的:
相反,我收到的输出是:
我的代码看起来像这样:
更改配置以root: true, embed: false,
在模型中提供正确的输出invoice
,但会添加根并侧载客户,这是我不想要的。
javascript - 将所有 MirageJS id 转换为整数
MirageJS 以字符串形式提供所有模型 ID。我们的后端使用整数,方便排序等。在阅读完 MirageJS 不支持开箱即用的整数 ID 之后。从我读过的对话中,最好的解决方案是在序列化程序中转换 Id。
但我想要的是:
我真的很想转换所有 id。这将包括嵌套对象和序列化的 Id。
react-native - 使用 Mirage.js [模拟 API 调用] React-Native 进行排毒
我正在为我的 React-Native 应用程序使用 Detox 进行一些测试,其中一个测试是我需要检查用户会话是否安全的流程。如果没有,我将发送短信验证码。
测试:成功模拟POST
API 调用api/sessions/:sessionId, {code : 123456}
问题:Mirage 没有接听电话,所以我的 Saga 当然会为假代码返回错误123456
,而我希望 Mirage.JS 返回true
以继续流程。
这是文件(file.spec.js
):
server.js
angular - mirage.js 不适用于 Angular 中的子 url 路径(仅适用于根路径)
当通过根 url (localhost:4200/) 执行后端调用时,Mirage 确实匹配定义的路由,但是当我们在子页面 ea:localhost:4200/process 上执行后端调用时,它将不起作用。在调试 mirage 代码时,它会尝试通过在要匹配的 url 前加上“进程”来进行匹配。因此,如果 BE 调用是“api/portal/affiliates/”,它将尝试匹配“process/api/portal/affiliates/”,但由于不存在匹配路径而失败。任何想法如何解决这个问题。
我们在 Angular 9 中使用 mirage.js。 roue mirage.js 配置:
javascript - createList 在 Mirage js 中不拾取关系
我正在尝试使用 Mirage js createList 工具创建属于用户的多个帖子。我创建了具有对应关系的模型:
在该seeds
方法中,我试图创建一个帖子列表并使用以下代码将它们分配给用户:
不幸的是,当我点击this.get("/users");
http 请求时,我收到一个海市蜃楼错误,我理解但无法修复:
Mirage: You're trying to create a user model and you passed in "model:post(1),model:post(2)" under the posts key, but that key is a HasMany relationship. You must pass in a Collection, PolymorphicCollection, array of Models, or null.
据我所知,我正在传递一个模型数组?请问我该如何解决?
javascript - 如何在 Mirage js 中播种具有多态一对一关系的模型?
这只是一个示例,我知道您通常会有多个评论,但是为了这个示例,假设我们有
以下型号:
和以下工厂:
现在,当尝试使用以下内容播种服务器时:
它确实播种了它,但是当检查console.log(server.db.dump());
可评论为空时commentableId: null
...。
为什么?
编辑:
这是一个棘手的问题。我变了
至:
只是看看是否commentable
部分导致了问题。这次我得到了一个不同的错误:
Mirage: You're using the association() helper on your comment factory for blogPost, which is a polymorphic relationship. This is not currently supported."
因此,目前无法association()
在多态关系上使用。我希望这在文档中宣布...
尽管如此,即使没有速记,我也找不到播种的方法association()
。
javascript - 未调用 Miragejs 种子函数
我正在尝试设置 miragejs 服务器,但由于某种原因,seeds
没有调用该函数。另一个服务器函数 ,routes
被调用并且路由被正确映射。
我尝试复制粘贴提供的示例,但seeds
仍然没有调用该方法。
miragejs 包安装为 dev 包,使用的版本为 0.1.40。该makeServer
函数在 index.jsx 文件中调用,如下所示:
miragejs - 如何使用 MirageJS 中的工厂返回字符串 id 数组?
在 MirageJS 中,我试图为一个简单的数组模型创建一个工厂。
当前代码
这是我的代码:
当前结果
上面的代码返回一个对象列表,id
键下有一个usertabs
键:
想要的结果
我想用简单的递增数字为数组播种,因此使用时的返回值GET api/usertabs
将返回:
出于某种原因,没有Factory
仅用于指南的 api 文档。我能找到的唯一示例是创建对象数组的示例。