【发布时间】:2016-08-11 19:49:31
【问题描述】:
我已经定义了 multplie service urls ,所有这些都将执行相同的代码。
@service.route('/get_info/env=<path:env>/starttime=<int:starttime>/endtime=<int:endtime>/entire=<entire>/over=<over>/stage=<stage>', defaults={'name': None}, strict_slashes=False)
@service.route('/get_info/dir=<path:dir>/starttime=<int:starttime>/endtime=<int:endtime>/entire=<entire>/over=<over>', defaults={'stage': 'ABC', 'name': None}, strict_slashes=False)
@servicelog.operation('GetInfo')
def get_deployment_info(env, starttime, endtime, finished, stage, fleetwide, hostname):
global _misc
try:
log.info("Dir: %s, Starttime: %d, Endtime: %d, name: %s, finished:%s, Stage:%s, Fleetwide: %s", dir, starttime, endtime, name,over, stage, entire)
result = obj.get_info(dir, starttime, endtime, entire, over, stage, name)
如果我要使用以下参数调用服务,它会按预期工作:
http://<endpoint>/get_info/dir=home/user/test/starttime=1470439200/endtime=1470856027/entire=true/over=true
但是,如果我使用以下参数调用服务,我会收到一条重定向消息:
http://<endpoint>/get_info/dir=home/user/test/starttime=1470439200/endtime=1470856027/entire=true/over=true/stage=ABC
我得到的错误是
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="http://endpoint/get_info/dir%3Dhome/user/test/starttime%3D1470439200/endtime%3D1470856027/entire%3Dtrue/over%3Dtrue">http://endpoint/get_info/dir%3Dhome/user/test/starttime%3D1470439200/endtime%3D1470856027/entire%3Dtrue/over%3Dtrue</a>. If not click the link.%
我在这里做错了吗?我不期待这样的消息,因为我没有定义任何类型的重定向。无论使用哪个 url,它都应该执行该方法。
【问题讨论】:
标签: python redirect flask flask-restful