问题标签 [feathers-service]

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 投票
2 回答
677 浏览

promise - Feathers 自定义服务响应在控制台中有效,但在 API 响应中获取空数组

我有一个自定义服务,它从多个猫鼬模型中获取数据并使用这些数据创建一个数组并返回给 API。

一切正常。我可以控制新的对象数组“result.rolePermissions”。您可以在下面的代码中看到这一点。

我的问题是当我检查前端的数据时,我得到一个空白数组作为响应。

我已经仔细检查了我是否错过了一个变量或使用了不同的 API 调用,但没有。我正在调用此自定义服务功能,但由于某种原因,我无法获取数据。

是因为在“result.roles”、“result.permission”上使用了 await/Promise 吗?我使用了一些不好的做法吗?

0 投票
1 回答
291 浏览

feathersjs - feathers.js - 将一条记录保存到多个数据库 - mysql 和弹性搜索

我已经用 Feathers.js 构建了一个应用程序,我正在尝试寻找方法,如何将任何记录保存到多个数据库中?我想将“消息”保存到 mysql 和弹性搜索中。

我想将弹性搜索用于“全文”搜索,但我也想将所有数据保存在某个关系数据库中。

我使用以下方法创建了一个服务:

feathers generate service

但我只能在那里选择一个特定的数据库。

任何帮助将不胜感激。

0 投票
1 回答
1343 浏览

javascript - How to setup and access internal services in hooks using FeathersJs

I want to use internally defined services in hooks added to public REST endpoints, is this possible?

By internally defined I'm referring to using the disallow hook from feathers-common-hooks.

app.service('/api/internal/helper').hooks( { before: { all: disallow('rest') } } )

The hook looks at the provider in the context object, if it matches what I've disabled. I.e if disallow('rest') is used then it disables the service from being accessed from REST.

The problem is I want to use this internal helper service in a hook that is attached to a public service, but haven't found a way to do so. When the internal service is called the provider is still rest and the call is blocked.

0 投票
0 回答
113 浏览

node.js - 如何获取自动生成的 FeathersJS 服务来存储和检索 JSON 数据?

在自动生成 FeatherJS 应用程序和服务后,我使用 HTTP POST 将 JSON 数据发送到 POST 正文中的服务,并且我尝试使用 GET 请求来检索这些数据。

当我 POST 和 GET 时,我看到的唯一数据是似乎已创建的记录的 ID,但 JSON 数据本身无处可见。

我的理解是,未经编辑的自动生成服务应该实现 CRUD 功能,并且数据应该在请求正文中。

我想知道我是否遗漏了什么,或者需要采取哪些额外步骤来使用我的 FeathersJS 服务保存和检索数据。

我已经安装了 feathersjs/cli 使用

然后我使用以下方法生成了一个应用程序:

我指定应用程序应该使用 npm,应该是一个 REST 应用程序,并且应该使用 Mocha + assert 进行测试。

然后我使用以下方法生成了一个服务:

我的服务称为测试并使用 NeDB 数据库。

然后我启动应用程序

我可以使用我的网络浏览器在http://localhost:3030/上访问预期的 Feathers 主页

我曾尝试使用 Postman POST 和 GET Json,但它不起作用。

使用 Postman,我对 URL http://localhost:3030/test执行 GET

我得到的响应是 200 OK,正文:

然后我 POST 到具有以下正文的相同 URL:

我得到一个 201 Created 响应,这似乎是成功的,返回的正文是:

然后当我对 URL 发出 GET 请求时:http://localhost:3030/test/M7Z35WlIwRBueCo7

我得到了 200 OK 的响应,正文是:

我似乎总是只得到记录的 ID,而不是实际的记录本身。

我本来希望看到一个看起来更像这样的返回身体

0 投票
1 回答
1068 浏览

node.js - 在 Feathersjs 中使用 Winston 显示相关 ID

我想使用winston 登录FeathersJS。但是,我想用“相关 ID”记录。我想找到我应该如何创建记录器,我只想用消息记录,而不是提供相关 ID。这是一个例子。

我想知道,让我的记录器注入每个请求不同的相关 id 的最佳方法是什么?

0 投票
1 回答
914 浏览

knex.js - 如何在 feathers.js/knex 服务中使用 jsonb 运算符“@>”进行搜索

使用 feathersJs/Knex 和 Postgresql。

(简化的)SQL 查询是这样的:

SELECT * FROM projects WHERE team_members @> '{"members":[{"id": 1}]}';

如何在羽毛/knex 服务中实现此请求?我尝试的一切都会引发Bad Request错误。

我尝试使用 rawQuery 但无法使其工作。我尝试使用常规查询,但默认情况下它使用=运算符而不是@>(因为它是正常的)。

我正在考虑在服务器上构建一个单独的服务,但我想知道是否没有更简单的方法可以做到这一点。我刚开始使用 feathersJs,我确定我遗漏了一些东西,它必须非常简单。

0 投票
1 回答
63 浏览

feathersjs - 是否有 FeathersJs 语法用于在单个命令中创建带有钩子的端点?

我找到了如何向现有服务添加挂钩:

但我很确定这种语法可以改进,我只是找不到一个例子。尝试搜索源代码也无济于事,就其类型定义而言,它非常麻烦。

是否有 FeathersJs 语法用于在单个命令中创建带有钩子的端点?

像这样的东西:

0 投票
1 回答
1167 浏览

reactjs - Feathers:为两个不同的查询自定义 find()

我正在使用 FeathersJS 和 ReactJs 来构建一个应用程序,现在我被困在某个点上。

我正在处理的用户界面是一个表格,我有一个导航栏来控制显示的数据,就像在图像中一样。

我的用户界面

在选择中,用户可以选择他们将在一个页面中看到多少个结果。导航按钮在不同页面之间移动。每次这些事情发生变化时,我都会计算

然后对 Feathers 后端进行 REST 调用。这工作得很好。

红色箭头表示我的问题。

当用户在此输入字段中键入名称的一部分时,我需要搜索用户表以查找名称中具有键入字符串的所有用户,无论位置如何,最好不区分大小写。在这种情况下,我正在创建一个像

然后进行 REST 调用。

碰巧这个调用会尝试找到一个等于 的名称,这不是我需要的。然后我假设我必须自定义我的 find() 方法以在它接收到两组不同的参数时以不同的方式执行,例如

users.class.js

但我真的不知道从这一点开始。

我应该在这个里面实现一个 Sequelize 原始查询if吗?获取所需数据的最佳方式是什么?

0 投票
3 回答
1020 浏览

javascript - 如何自定义 Feathersjs 的错误对象?

假设我在调用服务时抛出 GeneralError,如何制作我想要的错误对象:

我已经尝试在错误钩子上添加这个

但仍然不能,并且仍然返回羽毛的默认错误对象:

0 投票
1 回答
678 浏览

feathersjs - feathersjs 中的类是什么以及如何实现

我是feathersjs的新手,我尝试在feathers中进行本地身份验证,同时在users.class.js文件下创建服务。我不知道在那里实施什么所以请指导我