Инициализируйте ваш API с префиксом пути:
from flask import Flask
from flask_restful import Api
app = Flask(__name__)
api = Api(app, "/api")
...
Вы не можете изменить хост и порт таким образом, вам придется запустить flask с параметрами:
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"