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