Получение ключей массива в методе POST с использованием POSTMAN в API Python 3 Flask-Restful - PullRequest
0 голосов
/ 14 декабря 2018

Как получить значение массива в почтальоне, используя parser = reqparse.RequestParser () в api колбы?

enter image description here

Я получаю сообщение об ошибке говорит: NoneType 'объект не является подписным

А вот мой код:

class CreateUser(Resource):

    def post(self):
        try: 
          conn = None
          parser = reqparse.RequestParser()
          parser.add_argument('username', type = str)

          args = parser.parse_args()
          name = args['username'][0]

          return name
        except Exception as e:
            x = str(e)
            x.replace('\n', '')
            return {'status' : 'failed', 'message' : str(x)}
        finally:
            if conn is not None:
                conn.close()

Я получаю ошибку с этим именем = args [' username '] [0], и я также пытаюсь сделатьэто тоже name = args [0] ['username'] и все равно появляется ошибка, и когда я просто делаю это как name = args ['username'], почтальон отвечает нулем.пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 14 декабря 2018

Используйте это

def post(self):
try: 
  conn = None
  parser = reqparse.RequestParser()
  parser.add_argument('username[0]', type = str)
  parser.add_argument('username[1]', type = str)

  args = parser.parse_args()
  name = args['username[0]']

  return name
except Exception as e:
    x = str(e)
    x.replace('\n', '')
    return {'status' : 'failed', 'message' : str(x)}
finally:
    if conn is not None:
        conn.close()

Редактирование данных формы с несколькими параметрами должно быть таким:

username: "user1"
username: "user2"
username: "user3"

Да, вы можете передавать несколько значений одним и тем же ключом

def post(self):
try: 
  conn = None
  parser = reqparse.RequestParser()
  parser.add_argument('username', type = str, action='append')
  args = parser.parse_args()
  name = args['username']
  print(name) # ['user1', 'user2','user3'] you can traverse over this list
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...