Я подключаю postgresql с loopback 4 и вызываю API на интерфейсе, используя axios + restful, и это было успешно сделано.
Но когда я попытался подключить postgresql с loopback 4 и вызвать API на внешнем интерфейсе, используя axios + graphql, он выдает эти 3 ошибки в консоли браузера:
ОПЦИИ http://локальный:3001/graphql 405 (метод не разрешен)
Доступ к XMLHttpRequest в «http://локальный:3001/graphql» из источника «http://локальный:8081» заблокирован политикой CORS: ответ на предварительный запрос не проходит проверку управления доступом: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
Я пытался искать и читать в Google, но большинство из них не используют петлю.
Я следовал этому руководству,
Но до сих пор не решен.
Вот моя модификация исходного кода, Home.vue.
<template>
<div>
</div>
</template>
<script>
import axios from "axios";
export default {
name: "HelloWorld",
async mounted() {
try {
var result = await axios({
method: "POST",
url: "http://localhost:3001/graphql",
data: {
query: `
{
organizations {
organizationId
organizationName
}
}
`
}
});
console.info("kk", result);
} catch (error) {
console.error(error);
}
}
}
</script>
<style scoped></style>
Я ожидаю, что вывод внутри консоли должен быть содержимым API. Есть ли дополнительные настройки, которые я пропустил?





Мне кажется, что запрос отклонен из-за КОРС.
Я проверил исходный код oasgraph-cli, CORS по умолчанию не разрешен. К счастью, есть опция CLI для включения поддержки запросов из разных источников.
Следующая команда должна решить проблему для вас:
oasgraph --cors [path to saved OAS]
Опция CLI определяется здесь:
.option('--cors', 'enable Cross-origin resource sharing (CORS)')
И применяет следующее изменение к приложению Express:
if (program.cors) {
app.use(cors());
}