我正在尝试运行脚本以从我们的Git API获取一些数据,但是当我尝试使用API过滤器“ projects?search = defects”时,它仅返回:{“ Git2”:[]}。我怀疑这可能与“?”有关 符号。
下面是我正在使用的代码。“ Git”功能工作正常,但“ Git2”功能无效。我做错了什么?
import requests
from flask import Flask
import os
import json
uri = "https://gitlab.local.com/api/v4/"
#this code work
@app.route('/git')
def Git():
uri2 = "projects"
uri3 = uri + uri2
response = requests.get(uri3)
return({"Git" : response.json()})
#this code doesnt work
@app.route('/git2')
def Git2():
uri2 = "projects?search=my-defects"
uri3 = uri + uri2
response = requests.get(uri3)
return({"Git2" : response.json()})
如果要使用烧瓶,则应考虑使用自定义的烧瓶功能。
import requests
from flask import Flask, jsonify, request
import os
uri = "https://gitlab.local.com/api/v4/"
#this code work
@app.route('/git')
def Git():
uri2 = "projects"
uri3 = uri + uri2
response = requests.get(uri3)
return jsonify({"Git" : response})
请求库也接受查询参数,因此与其将查询参数直接添加到您的url中,不如直接将其添加为get请求的参数。
#this code works too
@app.route('/git2')
def Git2():
params = {"search":"my-defects"}
response = requests.get(uri3, params=params)
return jsonify({"Git2" : response})
希望这可以帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句