Как сделать правильный запрос PUT на мой API? JSONDecodeError: недопустимый управляющий символ в: строка 1, столбец 40 - PullRequest
0 голосов
/ 28 января 2020

Я постараюсь кратко объяснить, что происходит. Я попытался поместить некоторые данные в мой шлюз API

 PUT myarn/prod/users

Это не работает.

{
    "message": "Internal server error"
}

Я посмотрел на Cloudwatch

[ERROR] JSONDecodeError: Invalid control character at: line 1 column 40 (char 39)
Traceback (most recent call last):
  File "/var/task/create_user.py", line 17, in lambda_handler
    request_body = json.loads(event["body"])
  File "/var/lang/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)

Это мой Метод createuser.py

def __create_user(email_address, password, first_name, last_name):
    print("Using DynamoDB table: " + table_name)

    last_login = int(round(time.time() * 1000))
    user_doc = {
        'user_id': str(uuid.uuid4().hex),
        'email_address': email_address,
        'first_name': first_name,
        'last_name': last_name,
        'password': str(__encrypt_password(password)),
        'last_login': last_login,
        'fav_courses': []
    }

    print("Will write " + str(user_doc))

    try:
        table.put_item(Item=user_doc)

    except:
        print("Failed to write user to Dynamo")
        traceback.print_exc()

    return user_doc

Мой lambdahandler.py

def lambda_handler(event, context):
    request_body = json.loads(event["body"])

    email_address = request_body["email_address"]
    first_name = request_body["first_name"]
    last_name = request_body["last_name"]
    password = request_body["password"]

    new_user = __create_user(email_address, password, first_name, last_name)

    return {
        "statusCode": 200,
        "body": json.dumps(
            {
                "You've asked me to create a new user with": new_user,
            }
        ),
    }

Я пытаюсь понять, что не так. Это моя просьба

    { "emailaddress" : "acjebba@rambler.ru,
      "first name" : "Aca",
      "last name" : "Ljubascikic",
      "password" : "bbbachsahuga_96"
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...