POST 405 (МЕТОД НЕ РАЗРЕШЕН) с flask (python и vuejs) - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь опубликовать сообщение, но получаю метод ОШИБКИ 405, который не разрешен. Мой сервер работает довольно хорошо. Есть ли еще какие-то подробности, которые необходимо добавить в python?

Это мой python код с использованием flask.

from flask import Flask
from flask_restful import Resource, Api
from flask_cors import CORS

app = Flask(__name__)
CORS(app)
api = Api(app)


class HelloWorld(Resource):
    def get(self):
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
    app.run(debug=True)

, а в vue код:

axios({
                            method: 'post',
                            url: 'http://127.0.0.1:5000/',
                            data: {
                                name: this.name,
                                description: this.description
                            },
                            headers: {
                                'Content-Type': 'application/x-www-form-urlencoded',
                            },
                        })
                        .then(function (response) {
                            console.log(response);
                        })
                        .catch(function (error) {
                            console.log(error);
                    });

Ответы [ 2 ]

1 голос
/ 31 января 2020

Это потому, что вы запрашиваете "POST" из внешнего интерфейса, пытаясь получить URL для доступа к этому представлению. и вы не определили никаких методов как post.

попробуйте использовать метод get или определить метод post в своем классе.

0 голосов
/ 31 января 2020

Попробуйте расширить свой класс, включив в него также метод POST, например,

def post(self, name, description):
    return {'hello': 'world'}
...