Как правильно вернуть строку json с сервера флакона Python - PullRequest
0 голосов
/ 30 октября 2019

Я использую 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>

1 Ответ

0 голосов
/ 30 октября 2019

Это сделал трюк:

token = resp.json()
...