我正在使用python flask服务器API来调用另一个python flask服务器API。这两个都是使用swagger编辑器生成的。
API2返回编码的字符串,例如:
def Server2_API2():
payload = {
"value1": 'somedata',
"value2": 'somedata',
}
encoded_payload = jwt.encode(payload, SECRET, algorithm=ALGORITHM)
return encoded_payload <-- {str}'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.'
服务器1上的API1如下调用服务器2上的API2:
def Server1_API1():
resp = requests.post('http://localhost:1000/API2', data='value1=one&value2=two')
if resp.status_code == 200:
first_try = resp.content <-- b'"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"\n'
second_try = resp.content.decode() <-- {str} '"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
' <- notice the new line here
return first_try
#return second_try
如果返回first_try,则会收到错误:'bytes'类型的对象不可JSON序列化
如果返回second_try,则返回以下数据:
"\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9\"\n"
我的目标是仅按以下方式返回数据,而不会出现任何错误或任何反斜杠或换行符:
例如“ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9”
我该如何实现?
SOLUTION:
third_try = resp.json()
这成功了:
token = resp.json()