diff --git a/backend/src/main/java/hu/pazmany/security/CorsConfig.java b/backend/src/main/java/hu/pazmany/security/CorsConfig.java index f1524f4efc1448c8d4391f629dda9b4ad2106063..2123616eb63586b758413d4e17c172e7e59dafb7 100644 --- a/backend/src/main/java/hu/pazmany/security/CorsConfig.java +++ b/backend/src/main/java/hu/pazmany/security/CorsConfig.java @@ -10,7 +10,10 @@ public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") - .allowedOrigins("http://localhost/", "https://localhost/", "http://127.0.0.1/", "https://127.0.0.1/", "https://vau-vau.web.app/", "http://localhost:3000", "http://localhost:3001", "http://localhost:3002", "http://localhost:8080") + .allowedOrigins( + "https://vau-vau.web.app/", // from Firebase webapp frontend + "http://127.0.0.1:3000/", "http://localhost:3000/", // from nodejs frontend + "http://127.0.0.1/", "http://localhost/") // from nginx frontend .allowedMethods("*"); } -} \ No newline at end of file +} diff --git a/frontend/src/axiosConfig.js b/frontend/src/axiosConfig.js index 477d2dd55a856eacb794593e7211a8694de95e5e..16a46d9143a43e7bec11405986d58838833d2b1d 100644 --- a/frontend/src/axiosConfig.js +++ b/frontend/src/axiosConfig.js @@ -1,5 +1,4 @@ -import axios from 'axios'; +export {default as axios} from 'axios'; -axios.defaults.baseURL = 'http://localhost:8080'; - -export default axios; \ No newline at end of file +export const apiURL = 'http://localhost:8080/api'; // local development +// export const apiURL = '/api'; // nginx diff --git a/frontend/src/components/auth/Login.vue b/frontend/src/components/auth/Login.vue index 2b829c65c64cec94da4586d87bd9a0be112c2fc4..1c4f77ed6350ccddba5bac961e848a15a30d30a8 100644 --- a/frontend/src/components/auth/Login.vue +++ b/frontend/src/components/auth/Login.vue @@ -24,8 +24,8 @@ </template> <script> -import axios from '@/axiosConfig.js'; -import {mapState} from "vuex"; +import { axios, apiURL } from '@/axiosConfig.js'; +import { mapState } from "vuex"; export default { name: 'Login', @@ -35,7 +35,7 @@ export default { methods: { async login() { try { - const response = await axios.post('/api/login', { + const response = await axios.post(apiURL + '/login', { username: this.username, password: this.password }); diff --git a/frontend/src/components/auth/Register.vue b/frontend/src/components/auth/Register.vue index ad3347ea0a74121c53095b9f252a54e160dba8a0..1ba6333fda16b15c374752466479cce39c740e34 100644 --- a/frontend/src/components/auth/Register.vue +++ b/frontend/src/components/auth/Register.vue @@ -19,7 +19,7 @@ </template> <script> -import axios from '@/axiosConfig.js'; +import { axios, apiURL } from '@/axiosConfig.js'; import { ref } from 'vue'; import { useStore } from 'vuex'; import { useRouter } from 'vue-router'; @@ -74,7 +74,7 @@ export default { const register = async () => { try { - const response = await axios.post('/api/register', { + const response = await axios.post(apiURL + '/register', { username: username.value, password: password.value }); diff --git a/frontend/src/components/dogs/AddDog.vue b/frontend/src/components/dogs/AddDog.vue index d745d9a5a79ee71b2eb2f0ce568c2985806089c4..ec553fbea7442716a9c6db715dde4c3f82f740cc 100644 --- a/frontend/src/components/dogs/AddDog.vue +++ b/frontend/src/components/dogs/AddDog.vue @@ -23,7 +23,7 @@ </template> <script> -import axios from '@/axiosConfig.js'; +import { axios, apiURL } from '@/axiosConfig.js'; import { mapState } from 'vuex'; export default { @@ -70,7 +70,7 @@ export default { const config = { headers: { Authorization: `Bearer ${this.token}` }, }; - await axios.post(`/api/newdog`, this.dog, config); + await axios.post(apiURL + '/newdog', this.dog, config); this.$router.push(`/dogs`); }, }, diff --git a/frontend/src/components/dogs/AllDogs.vue b/frontend/src/components/dogs/AllDogs.vue index f748aa2005f218cdefbe247b6a1cf4efa89d877e..149f325629698fab816494e7679419cceb214969 100644 --- a/frontend/src/components/dogs/AllDogs.vue +++ b/frontend/src/components/dogs/AllDogs.vue @@ -20,7 +20,7 @@ <script> -import axios from '@/axiosConfig.js'; +import { axios, apiURL } from '@/axiosConfig.js'; export default { name: 'AllDogs', @@ -39,7 +39,7 @@ export default { }, async created() { try { - const response = await axios.get('/api/dogs', {timeout: 5000}); // 5 seconds timeout + const response = await axios.get(apiURL + '/dogs', {timeout: 5000}); // 5 seconds timeout if (response.status === 200) { if (response.data && response.data.length > 0) { this.dogs = response.data; diff --git a/frontend/src/components/dogs/EditDog.vue b/frontend/src/components/dogs/EditDog.vue index 0810ac2d0c19c97dbc6f49158d017824972b46e0..2a907e51e5a4baf16e8c4b2ad16b7f6a9a80a592 100644 --- a/frontend/src/components/dogs/EditDog.vue +++ b/frontend/src/components/dogs/EditDog.vue @@ -35,7 +35,7 @@ </template> <script> -import axios from '@/axiosConfig.js'; +import { axios, apiURL } from '@/axiosConfig.js'; import { mapState } from 'vuex'; import vueFilePond from 'vue-filepond'; import FilePondPluginImagePreview from 'filepond-plugin-image-preview'; @@ -64,7 +64,7 @@ export default { console.log('FilePond has initialized'); }, async fetchDog() { - const response = await axios.get(`/api/dogs/${this.$route.params.id}`); + const response = await axios.get(apiURL + `/dogs/${this.$route.params.id}`); this.dog = response.data; }, validateAndEditDog() { @@ -117,7 +117,7 @@ export default { }; try { - await axios.post(`/api/dogs/${this.$route.params.id}/edit`, formData, config); + await axios.post(apiURL + `/dogs/${this.$route.params.id}/edit`, formData, config); this.$router.push(`/dog/${this.$route.params.id}`); } catch (error) { console.error('Error editing dog:', error); diff --git a/frontend/src/components/dogs/SingleDog.vue b/frontend/src/components/dogs/SingleDog.vue index 833ba9f94cf295697179f06b0746f57f1074418b..a4508b008eba95953bd63835d9bbbf85da65a0a1 100644 --- a/frontend/src/components/dogs/SingleDog.vue +++ b/frontend/src/components/dogs/SingleDog.vue @@ -11,7 +11,7 @@ </template> <script> -import axios from '@/axiosConfig.js'; +import { axios, apiURL } from '@/axiosConfig.js'; export default { name: 'SingleDog', @@ -23,7 +23,7 @@ export default { async created() { const id = this.$route.params.id; try { - const response = await axios.get(`/api/dogs/${id}`); + const response = await axios.get(apiURL + `/dogs/${id}`); this.dog = response.data; } catch (error) { console.error(error); @@ -36,7 +36,7 @@ export default { const config = { headers: { Authorization: `Bearer ${this.token}` }, }; - await axios.delete(`/api/dogs/${this.$route.params.id}`, config); + await axios.delete(apiURL + `/dogs/${this.$route.params.id}`, config); this.$router.push(`/dogs`); } },