Windows Cherrypy上的Python Flask REST API
我正在尝试创建一个python REST web API。因为Flask开发服务器不适合生产,所以我尝试使用cherrypy应用服务器 下面是我试图通过cherrypy公开的Flask应用程序Windows Cherrypy上的Python Flask REST API,python,flask,cherrypy,Python,Flask,Cherrypy,我正在尝试创建一个python REST web API。因为Flask开发服务器不适合生产,所以我尝试使用cherrypy应用服务器 下面是我试图通过cherrypy公开的Flask应用程序 from flask import Flask,request from flask_restful import Api,Resource, reqparse app= Flask(__name__) api = Api(app) class Main (Resource): def get
from flask import Flask,request
from flask_restful import Api,Resource, reqparse
app= Flask(__name__)
api = Api(app)
class Main (Resource):
def get(self):
return "Hello Flask"
if __name__ == '__main__':
api.add_resource(Main, "/testapp/")
app.run(debug=True)
下面是我创建的cherrypy脚本
try:
from cheroot.wsgi import Server as WSGIServer, PathInfoDispatcher
except ImportError:
from cherrypy.wsgiserver import CherryPyWSGIServer as WSGIServer, WSGIPathInfoDispatcher as PathInfoDispatcher
from stack import app
d = PathInfoDispatcher({'/': app})
server = WSGIServer(('127.0.0.1', 8080), d)
if __name__ == '__main__':
try:
server.start()
print("started")
except KeyboardInterrupt:
server.stop()
我已在项目目录中将此脚本保存为“run.py”。当我运行它时,它没有显示任何错误,这使我认为这是正确的
但不幸的是,我无法使用url访问此内容
理论上,这个API的url应该是如下所示
但它抛出404和消息
“在服务器上找不到请求的URL。如果手动输入URL,请检查拼写并重试。”
我做错了什么?
api.add_resource(Main, "/testapp/")
如果文件包含在run.py中,则不会执行stack.py
作为条件
if __name__ == '__main__':
...
不是true(在stack.py的上下文中)
将对api.add_resource(…)的调用移动到if主条件之外的位置(因此它总是被执行)应该可以解决这个问题