Я новичок в расширении узла Хапи. js.
Я пытаюсь вызвать внешний API на моем сервере, потому что внешний API защищен с помощью CORS, и я не могу вызвать его с моего фронта (Angular 9).
Итак, я настроил свой хапи-сервер с маршрутами и т. Д. c, и теперь в маршруте я пытаюсь импортировать внешние данные, и когда фронтальный вызывает маршрут моего хапи-API, он показывает данные из внешнего API.
Я не нашел ни документации, ни разделов по этой проблеме, если бы вы могли предоставить мне некоторую информацию, это было бы очень полезно!
(я хочу сделать свой внешний вызов API из маршрута solcast)
Это мой индекс. js:
'use strict';
require('dotenv').config()
const Hapi = require('@hapi/hapi');
const init = async () => {
const server = Hapi.server({
port: 3000,
host: 'localhost',
routes: {
cors: true
}
});
server.route(require('./routes/base').test);
server.route(require('./routes/solcast').solcast);
await server.start();
console.log('Server running on %s', server.info.uri);
};
process.on('unhandledRejection', (err) => {
console.log(err);
process.exit(1);
});
init();
Это мой solcast. js:
В этом случае console.log выдает ошибку:
Error: handler method did not return a value, a promise, or throw an error
А затем console.log данные. Я предполагаю, что данные не получены, когда возврат сделан.
const joi = require('@hapi/joi');
const fetch = require("node-fetch");
exports.solcast = {
method: 'GET',
path: '/solcasttest',
handler: (request, h) => {
fetch("https://linkToTheExternalApi")
.then(response => response.json())
.then(data => {
console.log(data)
return data
})
.catch(err => console.log(err))
console.log(testSolcast)
}
}
Спасибо за вашу помощь, если вам нужна какая-либо другая информация, поразите меня.