无法在add_url_rule中设置方法

时间:2019-08-30 02:25:27

标签: python flask http-status-code-404

我正在尝试将Flask服务器包装在一个类中,以便更好地适合我的其余应用程序的结构。

我有以下代码:

class HTTPServer(object):
    def __init__(self):
        self.app = Flask(__name__)
        self.app.add_url_rule('/', 'index', self.hello_world, methods=['POST'])
        self.app.run(port=5050, use_reloader=False)

    def hello_world(self, data):
        print "Hello, World: {}".format(data)

但是,如果我向POST发送localhost:5050/index请求,则会收到404错误。

烧瓶日志显示以下内容:

127.0.0.1 - - [30/Aug/2019 11:17:52] "POST /index HTTP/1.1" 404 -

如果我在['POST']中将['GET']更改为methods并发送GET请求,也会发生同样的情况。

但是,如果我从methods中完全删除了add_url_rule()参数,我可以发送GET请求,并且它们会得到适当处理。

1 个答案:

答案 0 :(得分:0)

我不了解endpoint的{​​{1}}参数。它不是客户端看到的端点,而是端点的内部名称。正确的方法调用是:

add_url_rule