Я пытаюсь переслать мой api колбы на mydomain.example
с конечной точкой api.mydomain.example
Например, мой метод ping
будет иметь конечную точку api.mydomain.example/v1/server/ping
.Однако, я получаю xx.xxx.xxx.xx:5005/v1/server/ping
в качестве конечной точки.
Глядя на другие вопросы здесь, в SO, я нашел предложения изменить app.config['SERVER_NAME']
или добавить subdomain
в route
декоратор.Но ничего не работает.(Я получаю ошибку 404 при выполнении любой из этих модификаций).
Вот минимальный рабочий пример:
from flask import Flask, Blueprint
from flask_restplus import Resource, Api
app = Flask(__name__)
api = Api(app, version='1.0',
title='My API',
description='An API')
blueprint = Blueprint('api', __name__, url_prefix='/v1')
api.init_app(blueprint)
app.register_blueprint(blueprint)
#app.config['SERVER_NAME'] = 'mydomain.example:5005'
#app.url_map.default_subdomain = "test"
server = api.namespace("server",
description='Server API')
@server.route("/ping") #, subdomain="test")
class Ping(Resource):
def get(self):
"""
Check if Server is still alive
"""
return {"reply":"PONG"}
if __name__ == '__main__':
app.config["SWAGGER_UI_DOC_EXPANSION"] = "list"
app.run(port=5005, host= '0.0.0.0', debug=True)
Я зашел на страницу администрирования моего домена (name.com
) идобавлен URL вперед.В этом случае mydomain.info
переходит на страницу администрирования Swagger, но mydomain.example/v1/server/ping
также переходит на страницу администрирования Swagger.
Но, тем не менее, я получаю xx.xxx.xxx.xx: 5005 в разделе URL запроса.
Как мне заставить его работать с именем субдомена?