from flask import Flask
from flask import jsonify
from flask import request
from werkzeug.routing import BaseConverter
app = Flask(__name__)
#重新定義url匹配規則
class RegexConverter(BaseConverter):
def __init__(self, url, *args):
self.url = url
self.regex = args[0]
app.url_map.converters['regex'] = RegexConverter
#請求地址映射
@app.route('/index',methods=['POST'])
def test_post():
#定義響應結果集
resultMap = {}
#獲取post請求參數
a = request.json['a']
b = request.json['b']
#如果參數必填就要加上
if a and b:
if a == b:
resultMap['ret_code'] = 200
resultMap['ret_info'] = '成功'
#返回json格式的
return jsonify(resultMap)
else:
resultMap['ret_code'] = 500
resultMap['ret_info'] = '失敗'
return jsonify(resultMap)
else:
resultMap['ret_code'] = 500
resultMap['ret_info'] = '缺少請求參數'
return jsonify(resultMap)
#萬能url可以接收所有進入這個服務的請求
@app.route('/<regex(r"[\w\W]*"):url>',methods=['GET'])
def test_get(url):
resultMap = {}
c = request.args.get('c')
d = request.args.get('d')
if c and d:
if c != d:
resultMap['ret_code'] = 200
resultMap['ret_info'] = 'c和d不相等喲'
return jsonify(resultMap)
else:
resultMap['ret_code'] = 500
resultMap['ret_info'] = 'c和d相等啦啦啦啦啦'
return jsonify(resultMap)
else:
resultMap['ret_code'] = 500
resultMap['ret_info'] = '缺少請求參數'
return jsonify(resultMap)
if __name__ == '__main__':
app.run(debug=True,port=505)