行则将至

人生在勤,不索何获

0%

flask 参数传递的4种方式

原文地址 h3blog.com

get 方式传参

代码:

1
2
3
4
5
6
7
8
9
10
11
from flask import Flask, request, jsonify
import json

app = Flask(__name__)

# get方式传参数
@app.route('/name')
def getName():
name = request.args.get('name','')
return 'hello,{}'.format(name)

测试 curl http://127.0.0.1:5000/name?name=www.h3blog.com
1
$ curl -i -X GET http://127.0.0.1:5000/name?name=www.h3blog.com

response:

1
hello,www.h3blog.com

post 方式传参

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from flask import Flask, request, jsonify
import json

app = Flask(__name__)

# post方式传参数
@app.route('/name',methods=['POST'])
def postName():
name = request.form.get('name','')
return 'hello,{}'.format(name)

@app.route("/post_address_nft", methods=['POST'])
def post_address_nft():
addresses = flask.request.values.get('address_list', '')

测试 curl http://127.0.0.1:5000/name -d 'name=www.h3blog.com'
1
$ curl -X POST http://127.0.0.1:5000/name -d 'name=www.h3blog.com' -i

response:

1
hello,www.h3blog.com

url 路径传参

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask, request, jsonify
import json

app = Flask(__name__)

@app.route('/')
def index():
return 'hello,world'

# url路径参数
@app.route('/name/<name>')
def urlName(name):
return 'hello,{}'.format(name)
测试
1
$ curl -X GET http://127.0.0.1:5000/name/www.h3blog.com -i

response:

1
hello,www.h3blog.com

json body 传参

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from flask import Flask, request, jsonify
import json

app = Flask(__name__)

@app.route('/')
def index():
return 'hello,world'


# ajax body json
@app.route('/json',methods=['POST'])
def json_body():
data = request.get_data(as_text=True)
print(data)
jsonObj = json.loads(data)
return jsonify(jsonObj)
测试 curl url -H 'Content-Type:application/json' -d 'json_string'
1
$ curl -X POST -H 'Content-Type:application/json' http://127.0.0.1:5000/json -d '{"name":"www.h3blog.com"}' -i

response:

1
2
3
{
"name": "www.h3blog.com"
}

Flask 传参汇总

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from flask import Flask, request, jsonify
import json

app = Flask(__name__)

@app.route('/')
def index():
return 'hello,world'

# get方式传参数
@app.route('/name')
def getName():
name = request.args.get('name','')
return 'hello,{}'.format(name)

# post方式传参数
@app.route('/name',methods=['POST'])
def postName():
name = request.form.get('name','')
return 'hello,{}'.format(name)

# url路径参数
@app.route('/name/<name>')
def urlName(name):
return 'hello,{}'.format(name)

# ajax body json
@app.route('/json',methods=['POST'])
def json_body():
data = flask.request.get_json()
print(data)
jsonObj = json.loads(data)
return jsonify(jsonObj)