问题标签 [feathersjs]

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 投票
1 回答
898 浏览

rest - FeathersJS REST 多查询字符串

使用 FeathersJs REST 客户端 - 如何查询具有多个值的单个字段?

例如。如果我有图书服务并且我想检索 1990 年、1991 年和 1992 年写的所有图书。我假设我会打电话:

/books?year[]=1990&year[]=1991&year[]=1992

虽然这不起作用。

0 投票
2 回答
215 浏览

javascript - 如何实现 req/res 拦截器

我尝试使用羽毛客户端实现请求/响应拦截器。

目的是将全局元数据添加到请求中并剥离响应正文。另外我想使用响应拦截器来实现全局错误处理程序。

我查看了钩子,但after*如果发生任何错误,似乎不会执行钩子。

0 投票
1 回答
141 浏览

feathersjs - 避免过滤结果中的某些查询字段

当我使用查询字符串向服务发出 GET 请求时/restaurants?includeData,默认情况下includeData用于过滤给我零结果的餐馆。

如何避免在过滤中使用此特定查询字段,以便我可以在挂钩中将其用于我自己的目的?

0 投票
1 回答
321 浏览

feathersjs - 将钩子相互组合(钩子中的钩子)

是否可以像restrictToOwner在另一个钩子中一样使用钩子?例如,我希望用户一般只能更新他们自己的信息,但我也希望他们能够访问其他用户的特定属性。因此,如果存在特定的查询参数,比如说关于用户的评论,我希望用户通过,否则我想使用restrictToOwner钩子。当然,我可以编写自己的等效restrictToOwner钩子,但如果可能的话,我想利用已经存在的钩子(?)。下面的代码不起作用,但我想要类似的东西:

我想做的另一件事是仅当请求是外部调用时才执行挂钩。我的内部脚本应该可以无限制访问。就像是:

提前致谢!

0 投票
1 回答
829 浏览

feathersjs - 如何使 Feathers(基于 Express 的 API 框架)返回错误响应

我读过 Feathers 书,所以我知道要创建错误响应,我只需实例化适当的feathers-errors类:

但是,我很难将该错误响应返回给用户。即使我创建了一个除了返回错误响应之外什么都不做的端点......

它不起作用:我没有得到错误响应,而是没有得到响应,并且在 Chrome 调试器中我可以看到响应处于挂起状态(直到它最终超时并变成 ERR_EMPTY_RESPONSE)。

我尝试阅读有关 Express 错误处理的信息,在示例中我看到人们习惯于next包装响应。但是,next来自错误处理程序,我不确定在我的 Feathers 代码中的哪里可以获得该next功能。

如果有人可以帮助解释(使用next或不使用)我如何返回一个完整的、非挂起的错误响应,我将不胜感激。

0 投票
1 回答
1927 浏览

content-type - Feathers 中的任意响应内容类型

我有一个必须以 CSV 格式返回数据的自定义服务。

我不能使用标准的 Express 路线,因为我需要在这个端点上使用 Feathers 的钩子。

我找不到返回非 HTML、非 JSON 数据的 Feathers 服务的示例,也找不到指定响应内容类型的方法。

res.set('Content-Type', 'text/csv')从服务方法返回之前使用无效;最终Content-Type标头被重置为application/json,即使方法的返回值是常规字符串。

如何在 Feathers 的自定义服务方法中正确设置任意响应内容类型?

0 投票
2 回答
1486 浏览

feathersjs - Streaming response in Feathers

In Express, streaming responses are easy to implement since res is a stream object.

Inside a Feathers custom service method, however, how can I stream something as a response?

0 投票
1 回答
573 浏览

node.js - 如何通过 apache config 将 websocket 请求代理到节点应用程序?

我有一个使用 FeathersJS 在我的服务器上运行的节点应用程序,我希望它在 apache 之后,我正在尝试使用 apache 中的 mod_proxy 模块来完成此任务,但我遇到了问题。

这就是我的 apache mod_proxy 部分的样子:

我已将客户端套接字配置设置为以下内容:

当我尝试打开使用该应用程序时,我收到以下错误:

我启用了 apache 日志记录,这就是该错误的样子:

如果我通过 localhost 运行所有内容,它可以完美运行,没有问题,所以这显然是 ProxyPass 的问题。任何帮助将不胜感激,或者如果有另一种方法我可以在不使用 ProxyPass 的情况下将节点应用程序放在 apache 后面,我很想听听任何其他解决方案。

提前致谢。

0 投票
2 回答
695 浏览

feathersjs - FeathersJS 在创建时更新触发器

我试图找到在创建数据后更新另一个服务中的值的最佳方法,主要是触发器在数据库上下文中的工作方式。例如我有一个对象:

创建新的 foo 对象时,我希望更新栏链接到新对象。是否只有通过第三方服务才能做到这一点?或者是否有办法获得足够的使用后挂钩( foo 的 id 字段在创建时不可用)?

我试图避免使用事件,避免重写生成的服务数据,并使其独立于数据库(现在它正在使用猫鼬,但将来可以/将会改变)。

0 投票
2 回答
2507 浏览

node.js - 在与 api 不同的域上对单页应用进行 Auth0 身份验证

我正在尝试将 Auth0 身份验证添加到我的单页应用程序中。我的应用程序在一个域下运行,例如 app.mycompany.com,而此应用程序使用的 api 在另一个域下运行,例如 api.mycompany.com。

我知道这个线程:

单页应用程序 (SPA) 的单点登录 (SSO) 解决方案/架构

以及此处链接的 auth0 文章和 github 存储库。但我感觉我的场景稍微简单一些,因为我不一定希望在几个不同的单页应用程序之间进行单点登录。首先,我只想要 API 和应用程序之间的分离。

这是我已经尝试过的:

我已经从文章React Login With Auth0 开始并下载了启动项目。我肯定可以毫无问题地登录,它会在我的 localStorage 中留下一个 id_token,其中包含由 Auth0 发布的 JWS。

我也可以直接登录 api.mycompany.com(我的 FeathersJS API 应用程序),我可以看到在 OAuth 重定向过程中,id_token 令牌神奇地转换为我的 Feathers 应用程序发出的包含内部 ID 的 feathers-jwt 令牌与 auth0-ID 匹配的用户对象。我还实现了用于从 Auth0-ID 映射到我的内部 ID 的逻辑。此外,我所有的 Feathers 钩子(例如验证令牌和用户数量)都在工作。

我无法弄清楚的是如何使用 localStorage 中的 Auth0 令牌更改在 app.mycompany.com 下运行的 react-application,以便此令牌由 api.mycompany.com 转换为 feathers-jwt 令牌,在这样的这样所有后续的 API 调用都会自动包含 feathers-jwt 令牌,以便 API 可以验证用户并返回正确的数据。

任何有关如何进行的建议将不胜感激。

更多背景细节:

  • 该 api 建立在 node.js 和 featherjs 上(基本上是 Express 的扩展)
  • 单页应用程序基于 ReactJS 构建,由一个简单的 Express 服务器提供服务,但它可以由任何可以通过 http 提供静态文件的服务器提供服务。单页应用程序向 api 发出 http 请求以读取数据并执行操作。
  • 该 api 具有以下代码行来处理身份验证:

    /li>