REST: Vue + Spring, как только определил PostMapping начало выдавать 405 на get

Начал проект с фронта. Все странички через vue-router отлично переходили. Начал заниматься авторизацией, накинул postgres, определил postmapping для сохранения нового пользователя. И вот после этого начало выдавать 405. Захожу на страничку регистрации, и там: There was an unexpected error (type=Method Not Allowed, status=405). Request method 'GET' not supported. Вроде этот get я не вызываю, если я определю GetMapping, то на странице остается только то, что возвращается из метода. Ощущение что Vue в каком-то месте зачем-то это делает. Для запросов использую vue-resourse, а для переходов vue-router


Ответы (1 шт):

Автор решения: Roman Kozin

Попробуйте адаптировать такой шаблон компонента с POST запросом. Работает без эксцессов.

<template>
    <div class="hello">
        <button class="btn" @click="testRequest">
            <span>Test Request </span>
        </button>
        <br>
        <img class="loader-img" src="https://i.pinimg.com/originals/65/ba/48/65ba488626025cff82f091336fbf94bb.gif"
             v-if="loading">
        <p v-if="response" v-html="response"></p>
    </div>
</template>

<script>
    export default {
        name: 'HelloWorld',
        data() {
            return {
                loading: false,
                response: null
            }
        },
        methods: {
            testRequest() {
                this.loading = true;
                this.response = null;

                this.$http.post('https://httpbin.org/delay/1')
                    .then(response => response.body)
                    .then(data => this.response = data)
                    .finally(() => this.loading = false);
            }
        }
    }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
    h3 {
        margin: 40px 0 0;
    }

    ul {
        list-style-type: none;
        padding: 0;
    }

    li {
        display: inline-block;
        margin: 0 10px;
    }

    a {
        color: #42b983;
    }

    img.loader-img {
        height: inherit;
        width: 128px;
    }
</style>
→ Ссылка