Feathersjs socketio如何正确设置params.route?

Feathersjs socketio如何正确设置params.route?,feathersjs,feathers-hook,Feathersjs,Feathers Hook,我有一个FeathersJSAPI,它使用REST可以提供对URL的GET请求,如http://server.com/service-name/:fieldName 其中fieldName有一个字符串值。API将fieldName的值分配给params.query 在开发React本机应用程序时,我尝试使用feathers socketio客户端发出相同的请求。请求如下所示: return this.app.service('service-name/:fieldName').find({

我有一个FeathersJSAPI,它使用REST可以提供对URL的GET请求,如http://server.com/service-name/:fieldName 其中fieldName有一个字符串值。API将fieldName的值分配给params.query

在开发React本机应用程序时,我尝试使用feathers socketio客户端发出相同的请求。请求如下所示:

return this.app.service('service-name/:fieldName').find({
  query:{fieldName='value'}
}).then(response => {
  console.log('data from server', response.data); // ignore this console format
}).catch(error => {
  console.log(error);
});
上面的请求将其发送到服务器,但fieldName的值未定义或其他一些不需要的值,因为服务器返回一个空结果集。我也读到过,这将是一个选择,但我不知道如何做到这一点

有人可以通过将请求中fieldName的实际值发送到服务器来帮助我解决此问题吗

[编辑] 检查API服务器上的日志后,我发现REST API请求具有正确的params.route对象:

带有socketio请求的params.route为空:

object(9) {
    ["query"] => object(0) {}
    ["route"] => object(0) {}
    ["connection"] => object(6) {
        ["provider"] => string(8) "socketio"
        ["payload"] => object(1) {
            ["userId"] => number(3)
        }
    ...

虽然知道问题出在哪里让我松了一口气,但有人能告诉我如何使用socketio请求在React Native中正确设置params.route吗?

您可以使用普通路由,就像HTTP一样,它将使用fieldName设置params.route:

将设置{params:{route:{fieldName:'something'}}

object(9) {
    ["query"] => object(0) {}
    ["route"] => object(0) {}
    ["connection"] => object(6) {
        ["provider"] => string(8) "socketio"
        ["payload"] => object(1) {
            ["userId"] => number(3)
        }
    ...
return this.app.service('service-name/something').find({}).then(response => {
  console.log('data from server', response.data); // ignore this console format
}).catch(error => {
  console.log(error);
});