Я запрашиваю AWS базу данных пользователей с хуками для поиска, извлечения и реагирования. Чтобы заставить его работать, мне нужно было настроить отдельный сервер express и сделать запрос на выборку, так как есть проблемы с CORS с AWS с небольшим способом обойти это.
My запрос на выборку ...
const getUsers = async (query) => {
const results = await fetch(`http://localhost:3005/search?`)
const userData = await results.json()
console.log("this is the results", results, "this is the data", userData);
return userData.results
}
Если я жестко закодирую запрос на сервере express примерно так ...
const express = require('express');
const request = require('request');
const app = express();
app.get('/search', function(req, res, query){
request(`https://search-*****-*****.eu-west-1.cloudsearch.amazonaws.com/2013-01-01/search?q=bob`, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body);
res.send(body);
}
});
});
app.listen(3005);
console.log('Server running on port %d', 3005);
Это работает, вывод консоли ... ... 1009 *
status: {rid: "****", time-ms: 1}
hits:
found: 1
start: 0
hit: [{…}]
__proto__: Object
__proto__: Object
Поскольку попадания являются массивом пользователя для Боба, однако, когда я передаю строку запроса в свой запрос на выборку, она не возвращает никаких результатов
const getUsers = async (query) => {
const results = await fetch(`http://localhost:3005/search?q=${query}`)
const userData = await results.json()
console.log("this is the results", results, "this is the data", userData);
return userData.results
}
const express = require('express');
const request = require('request');
const app = express();
app.get('/search', function(req, res, query){
request(`https://search-*****-*****.eu-west-1.cloudsearch.amazonaws.com/2013-01-01/search`, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body);
res.send(body);
}
});
});
app.listen(3005);
console.log('Server running on port %d', 3005);
Он не возвращает хитов ...
status: {rid: "****", time-ms: 1}
hits:
found: 0
start: 0
hit: [{…}]
__proto__: Object
__proto__: Object
Я уверен, что лучший способ сделать запрос - это включить его в мой запрос на выборку, но я не уверен, почему он не работает. Если бы кто-нибудь мог пролить свет, я был бы благодарен.