멀티 플라이 서비스 URL을 정의했으며, 모두 동일한 코드를 실행합니다. 나는 아래의 매개 변수를 사용하여 서비스를 호출한다면파이썬 플라스크 자동 리다이렉트 메시지
@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.%
,536입니다
내가 여기서 잘못된 것을하고 있습니까? 나는 리다이렉션과 같은 어떤 메시지도 기대하지 않는다. url이 사용되는 것과 관계없이 메소드를 실행해야합니다.
답장을 보내 주셔서 감사합니다. 좀 더 파고 들었다. 'stage = ABC'를 전달하면 두 번째 대체 URL에 대해 ABC로 stage의 기본값을 정의했습니다. 두 번째 대체 URL의 기본값을 읽으려고하는 이유를 모르겠습니다. 다른 모든 값에도 적용됩니다. – learningMyWayThru