问题标签 [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.

0 投票
0 回答
728 浏览

vue.js - MirageJS 找不到路线 - VueJS

我们正在我们的 VueJS 应用程序中尝试 MirageJS,并在登录屏幕中发出请求post("auth/signin")。api url 类似http://localhost/v1,它在 Axios 实例中配置为 baseUrl。MirageJS 服务器路由有this.namespace="v1"(我试过/v1, /v1/, v1/)和this.post("/auth/signin", cb(schema, request)).

当我提出请求时,我收到此错误 在此处输入图像描述

Vue代码

在此处输入图像描述

axioshttp的实例在哪里

在此处输入图像描述

会是什么呢?

在此处输入图像描述

0 投票
0 回答
220 浏览

javascript - MirageJS 不保留 POST 创建的数据

我正在使用 MirageJS 构建这个 VueJS 应用程序来模拟 API,我想出了这个问题。我有一个/users端点来处理 GET 和 POST 请求。如果数据是由工厂创建的,则返回此数据。如果数据是由 POST 请求创建的,在表单中,我会收到一条Created - 201消息,但是当我再次发出 GET 请求时,这个 POST 创建的数据不存在。MirageJS 是否只保留工厂创建的数据?

这是代码

在此处输入图像描述

这个服务器转储返回创建的数据,但是当我发出另一个 GET 请求时,它是空的。

演示 https://imgur.com/gallery/sOf0nUL

0 投票
1 回答
301 浏览

miragejs - 有没有办法在不侧载或嵌入数据的情况下显示相关模型 ID

我的理解是 usingserializeIds: 'always'会给我这些数据,但事实并非如此。

这就是我所期待的:

相反,我收到的输出是:

我的代码看起来像这样:

更改配置以root: true, embed: false,在模型中提供正确的输出invoice,但会添加根并侧载客户,这是我不想要的。

0 投票
3 回答
589 浏览

javascript - 将所有 MirageJS id 转换为整数

MirageJS 以字符串形式提供所有模型 ID。我们的后端使用整数,方便排序等。在阅读完 MirageJS 不支持开箱即用的整数 ID 之后。从我读过的对话中,最好的解决方案是在序列化程序中转换 Id。

但我想要的是:

我真的很想转换所有 id。这将包括嵌套对象和序列化的 Id。

0 投票
0 回答
635 浏览

react-native - 使用 Mirage.js [模拟 API 调用] React-Native 进行排毒

我正在为我的 React-Native 应用程序使用 Detox 进行一些测试,其中一个测试是我需要检查用户会话是否安全的流程。如果没有,我将发送短信验证码。

测试:成功模拟POSTAPI 调用api/sessions/:sessionId, {code : 123456}

问题:Mirage 没有接听电话,所以我的 Saga 当然会为假代码返回错误123456,而我希望 Mirage.JS 返回true以继续流程。

这是文件(file.spec.js):

server.js

0 投票
1 回答
942 浏览

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 配置:

0 投票
1 回答
495 浏览

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.

据我所知,我正在传递一个模型数组?请问我该如何解决?

0 投票
2 回答
352 浏览

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()

0 投票
1 回答
115 浏览

javascript - 未调用 Miragejs 种子函数

我正在尝试设置 miragejs 服务器,但由于某种原因,seeds没有调用该函数。另一个服务器函数 ,routes被调用并且路由被正确映射。

我尝试复制粘贴提供的示例,但seeds仍然没有调用该方法。

miragejs 包安装为 dev 包,使用的版本为 0.1.40。该makeServer函数在 index.jsx 文件中调用,如下所示:

0 投票
0 回答
198 浏览

miragejs - 如何使用 MirageJS 中的工厂返回字符串 id 数组?

在 MirageJS 中,我试图为一个简单的数组模型创建一个工厂。

当前代码

这是我的代码:

当前结果

上面的代码返回一个对象列表,id键下有一个usertabs键:

想要的结果

我想用简单的递增数字为数组播种,因此使用时的返回值GET api/usertabs将返回:

出于某种原因,没有Factory仅用于指南的 api 文档。我能找到的唯一示例是创建对象数组的示例。