Feathersjs socketio如何正确设置params.route?
Feathersjs socketio how to correctly set params.route?
我有一个 Feathersjs API,它使用 REST 可以为 URL 提供 GET 请求,例如 http://server.com/service-name/:fieldName
,其中 fieldName
有一个字符串值。 API 将 fieldName
的值赋给 params.query
.
在开发 React Native 应用程序时,我正在尝试使用 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
的值是 undefined
或其他不需要的值,因为服务器 returns 一个 空结果集。我还读到 setSlug hook 是一个选项,但我不确定该怎么做。
有人可以通过在请求中向服务器发送 fieldName
的真实值来帮助我解决这个问题吗?
[编辑]
检查 API 服务器上的日志后,我发现 REST API 请求具有正确的 params.route
对象:
object(9) {
["query"] => object(0) {}
["route"] => object(1) {
["fieldName"] => string(5) "value"
}
...
params.route
socketio 请求为空:
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 一样使用普通路由,它将 params.route
设置为 fieldName
:
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);
});
将设置{ params: { route: { fieldName: 'something' } } }
我有一个 Feathersjs API,它使用 REST 可以为 URL 提供 GET 请求,例如 http://server.com/service-name/:fieldName
,其中 fieldName
有一个字符串值。 API 将 fieldName
的值赋给 params.query
.
在开发 React Native 应用程序时,我正在尝试使用 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
的值是 undefined
或其他不需要的值,因为服务器 returns 一个 空结果集。我还读到 setSlug hook 是一个选项,但我不确定该怎么做。
有人可以通过在请求中向服务器发送 fieldName
的真实值来帮助我解决这个问题吗?
[编辑]
检查 API 服务器上的日志后,我发现 REST API 请求具有正确的 params.route
对象:
object(9) {
["query"] => object(0) {}
["route"] => object(1) {
["fieldName"] => string(5) "value"
}
...
params.route
socketio 请求为空:
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 一样使用普通路由,它将 params.route
设置为 fieldName
:
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);
});
将设置{ params: { route: { fieldName: 'something' } } }