Я использую API сервера фляги Python для вызова другого API сервера фляги Python. Оба они были созданы с использованием редактора swagger.
API2 возвращает закодированную строку, такую как:
def Server2_API2():
payload = {
"value1": 'somedata',
"value2": 'somedata',
}
encoded_payload = jwt.encode(payload, SECRET, algorithm=ALGORITHM)
return encoded_payload <-- {str}'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.'
API1 на сервере 1 вызывает API2 на сервере 2 следующим образом:
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 , тогда я получаю ошибку: Объект типа 'байты' не сериализуем JSON
Если я возвращаю second_try затем я получаю следующие данные:
"\"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9\"\n"
Моя цель - вернуть только данные без ошибок, косых черт или новых строк:
например, "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
Как мне этого добиться?
РЕШЕНИЕ:
third_try = resp.json () <- Это делает трюк:) </p>