Restful api example

首先,先定义一个api,举例:

@app.route('/test')
def index():
	resp = flask.Response('success', status=200)
	resp.headers.add('Access-Control-Allow-Origin', '*')
	return resp

这个时候正常调用 应该返回success

curl http://$IP:$PORT/test

其次,定义GET和POST的方法,以及在bash和python中的调用方法

还是先举个例子:

@app.route('/inference', methods=['GET', 'POST'])
def inference():
	if flask.request.method == "GET":
		fileurl = flask.request.args.get('imageurl', None)
		filename = fileurl.split("://")[1]
		image = cv2.imread(filename)
	elif flask.request.method == "POST":
		upfile = flask.request.files['imagefile']
		image = cv2.imdecode(np.fromstring(upfile.stream.read(), dtype=np.uint8), cv2.IMREAD_COLOR)
		_op_id = upfile.filename
	resp = flask.Response('success', status=200)
	resp.headers.add('Access-Control-Allow-Origin', '*')
	return resp

此时如果用get的方法如下:

curl -G -d "imageurl=file://$LOCAL_IMAGE" http://$IP:$PORT/inference

如果用post的方法如下:

curl -F "imagefile=@$LOCAL_IMAGE" http://$IP:$PORT/inference

如果在python中实现post:

ret = requests.post(mask_api, files={"imagefile": (file_name, image)}, verify=False)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值