簡體   English   中英

如何在flask restful api應用程序中配置basepath?

[英]How to configure basepath in flask restful api application?

我想為我的燒瓶應用程序設置一個基本路徑。 我在下面提到了一個例子。

basepath = 'http://localhost:3000/api'

我有兩個 api 調用,一個是GET ,另一個是POST

from flask import Flask
from flask_restful import Api
app = Flask(__name__)
api = Api(app)

api.add_resource(CreateUser, "/v1/user/create/")
api.add_resource(CreateUser, "/v1/user/details")

class CreateUser(Resource):
    def post(self):
       # Code for creating a user
    def get(self):
       # Code for get the details of user.

所以在這里,如果我想創建用戶,那么我的 url 將是http://localhost:3000/api/v1/user/create/ GET也是如此。 那么我如何實現這一目標?

使用路徑前綴初始化您的 Api:

from flask import Flask
from flask_restful import Api
app = Flask(__name__)
api = Api(app, "/api")

...

您不能以這種方式更改主機和端口,您必須使用參數運行燒瓶:

flask run --host=127.0.0.1 --port=3000

或者你可以做

from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app, "/api")


...

if __name__ == "__main__":
    app.run(host="127.0.0.1", port="3000")

請記住,這不適用於生產環境,僅用於本地測試。 在生產環境中使用請參見https://flask.palletsprojects.com/en/1.1.x/tutorial/deploy/

如果您想從basepath獲取這些值,一種選擇是purl

url = purl.URL('http://localhost:3000/api')
url.host()  # --> "localhost"
url.port()  # --> 3000
url.path()  # --> "/api"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM