Я пытаюсь отправить сообщение в базу данных и получаю код ответа HTTP500.Я действительно изо всех сил пытаюсь выяснить эту проблему.
Обработчик базы данных:
#POST adds a group to the database
def add_group_handler(json):
try:
cnx = mysql.connector.connect(**database.read_config())
cursor = cnx.cursor()
sql_query = "INSERT INTO leagueGroups (groupId, groupLetter, numberOfTeams, totalMatchesPlayed, topGoalscorer, topAssists, mostCards, totalPoints)" \
"VALUES (%s, %s, %s, %s, %s, %s, %s, %s)"
print(json)
cursor.execute(sql_query,( json['groupId'],
json['groupLetter'],
json['numberOfTeams'],
json['totalMatchesPlayed'],
json['topGoalscorer'],
json['topAssists'],
json['mostCards'],
json['totalPoints']))
cnx.commit()
new_group_id = json['groupId']
sql = 'SELECT * FROM leagueGroups WHERE groupId='+ str(new_group_id)
cursor.execute(sql)
row = cursor.fetchone()
columns = cursor.column_names
group = {}
for (key, value) in zip(columns, row):
group[key] = value
cnx.close()
return group
except mysql.connector.Error as err:
print('Something went wrong adding a group: {}'.format(err))
Файл Api.py:
# Adds a group to DB
# @return: string
@app.route(uri_for_groups, methods=['POST'])
def add_group():
if not request.json:
abort(400)
data = request.data
print(data)
handler.add_group_handler(data)
return 'Successfully added group!', 200
Я отправляю в этом json, который являетсяпример из базы данных и изменился, так что данные должны быть в порядке:
{"groupId":60,"groupLetter":"E","mostCards":"Marcos Rojo","numberOfTeams":4,"topAssists":"Kevin De Bruyne","topGoalscorer":"Cristiano Ronaldo","totalMatchesPlayed":6,"totalPoints":48}
Журнал ошибок:
File "C:\Users\Aaron Rogers\Documents\AR_ChampLeague_Project\server\database_handler.py", line 386, in add_group_handler
cursor.execute(sql_query,( json['groupId'],
TypeError: byte indices must be integers or slices, not str
127.0.0.1 - - [14/Dec/2018 16:42:22] "POST /api/v1/groups HTTP/1.1" 500 -
Кто-нибудь есть идеи, в чем моя проблема?я был бы очень признателен