0
CherryPyを静的ファイルと私のREST APIの両方にホストするのに少し苦労しています。私は、APIをhttp://127.0.0.1:8080/api
に、そしてすべての静的ファイルをhttp://127.0.0.1:8080/
にします。ユーザーがちょうど/api
のGET
のURLを使用している場合は、そのAPIの使用方法に関するマニュアルで静的なHTMLを提供します。 /
の静的HTMLはHTML5アプリです。 REST APIの基本実装です。静的ファイルとアプリケーションの両方をホストする
私は今のところ持っていることはこれです:
cherrypy.config.update({"tools.staticdir.on": True })
cherrypy.config.update({"tools.staticdir.dir": "/home/bart/html" })
#cherrypy.config.update({"tools.staticdir.index": "index.html"})
if __name__ == '__main__':
cherrypy.tree.mount(myApp(), "/api")
cherrypy.engine.start()
cherrypy.engine.block()
そして、それは私GET http://127.0.0.1:8080/api
、それは/
上と同じように機能する場合を除き、ほとんどがあります。次のようにmyApp()
クラスのindex
がある:
@cherrypy.expose
def index(self):
# TODO: place API docs here
if cherrypy.request.method == "GET":
return "REST API v{v}".format(v=VERSION)
else:
return result(405)
このhttp://stackoverflow.comを見て/ a/15789415/5476782 あなたの定義には、 '/'で必要な静的ファイル用の別のページハンドラが必要だと思います。 – Kruser