Windows Cherrypy上的Python Flask REST API

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

我正在尝试创建一个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(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主条件之外的位置(因此它总是被执行)应该可以解决这个问题