У меня есть следующий vue файл. Базовый URL моего REST API: http://localhost: 8080 / api / . Когда я получаю прямой доступ к http://localhost: 8080 / api / dfc / system / docbases , я получаю ответ, как показано.
["gr_swy","SubWayX_DEMO"]
Но я хочу получить ответ через nuxt js, который работает на http://localhost: 3000 / restapi / . Я пытался следить за всеми статьями, но не смог понять, где я делаю неправильно.
<template>
<div class="container">
{{docbases}}
</div>
</template>
<script>
import axios from "axios";
#import axios from "../../.nuxt/axios"; (tried both)
export default {
methods: {
// asyncData({ req, params }) {
// return axios.get("http://localhost:8080/api/dfc/system/docbases")
// .then(res => {
// return { docbases: res.data };
// }).catch((e) => {
// error({ statusCode: 404, message: 'Not found' })
// })
// },
async asyncData ({ params }) {
const { data } = await axios.get('http://localhost:8080/api/dfc/system/docbases');
return { docbases: data }
}
},
head: {
title: "D2Rest"
}
};
</script>
Мой nuxt.config. js выглядит так: я пытался changeOrigin с true и false оба. Не могли бы вы помочь мне, какие дополнительные вещи мне нужно настроить?
axios: {
proxy: true,
},
env: {
baseUrl: process.env.BASE_URL || 'http://localhost:3000'
},
proxy: {
'/api/': {
target: 'http://localhost:8080/',
pathRewrite: { "^/api": "" },
changeOrigin: false,
prependPath: false
}
},