使用特殊字符时python不返回值

鲁德尼基

我正在尝试运行脚本以从我们的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()})
maestro.inc

如果要使用烧瓶,则应考虑使用自定义的烧瓶功能。

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章