Я пытаюсь создать колбу, которая связывается с базой данных, используя RESTapi. Это работает в определенной степени. Однако формат не отображается правильно, когда я тестирую команду curl на внутреннем сервере.
При запуске:
curl http://127.0.0.1:5000/Stocks
Я ожидаю получить плоский возврат, такой как:
{"Name": "XYZ Corp", "Price": 123.23, "Stock": "XYZ", "id": 1}
Однако я получаю:
{
"Имя": "XYZ Corp",
"Цена": 123.23,
"Акции": "XYZ",
" id ": 1
}
Я использовал следующий код, чтобы попытаться получить возврат, чтобы быть плоским, но это не таккажется, работает правильно:
# StocksDAO
def findById(self, id):
cursor = self.db.cursor()
sql = "SELECT * FROM Stocks where id = %s"
values = (id,)
cursor.execute(sql, values)
result = cursor.fetchone()
return self.convert_Res(result)
# ..........
def convert_Res(self, result):
colNames = ["id", "Stock", "Name", "Price"]
item = {}
if result:
for i, colName in enumerate(colNames):
value = result[i]
item[colName] = value
return item
Есть ли какие-либо предложения о том, как получить код для генерации плоского возврата?
Редактировать: код Flask для приведенных выше разделов:
#!flask/bin/python
from flask import Flask, jsonify, request, abort, make_response
from flask_cors import CORS
from Stocks_DB import stocksDAO
app = Flask(__name__, static_url_path="", static_folder=".")
CORS(app, support_credentials=True)
@app.route("/")
@app.route("/Stocks/<int:id>")
def getById(id):
sel_stock = stocksDAO.findById(id)
return jsonify(sel_stock)