如何在flask restful api应用程序中配置基本路径?

问题描述 投票:0回答:1

我想为我的flask应用程序设置基本路径。我在下面提到了一个示例。

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.

所以在这里,如果我想创建用户,那么我的网址将是http://localhost:3000/api/v1/user/create/所以GET也一样。那么我该如何实现呢?

python flask flask-restful
1个回答
0
投票

使用路径前缀初始化您的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"
© www.soinside.com 2019 - 2024. All rights reserved.