Я хотел бы отправить информацию из базы данных mysql в приложение ios, используя сценарий python и сервер flask. В настоящее время я могу обновить базу данных из приложения с помощью следующего сценария.
from flask import Flask
from flask import make_response
from flask import request
import mysql.connector
#opens database connectionto "events" database
try:
mydb = mysql.connector.connect(host="localhost", user="root", passwd="Pass", database = "events")
print("Connection OK")
except e:
print("Connection failed: ", e)
#prepare a cursor object using cursor() method
mycursor = mydb.cursor()
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def register():
if flask.request.method == 'POST':
event_id = request.form['a']
poi = request.form['b']
address = request.form['c']
start_time = request.form['d']
end_time = request.form['e']
sql = "INSERT INTO events (event_id, poi, address, start_time, end_time) VALUES (%s, %s, %s, %s, %s)"
val = (event_id, poi, address, start_time, end_time)
try:
# Execute the SQL command
mycursor.execute(sql, val)
# Commit your changes in the database
mydb.commit()
mydb.close()
except e:
# Rollback in case there is any error
print("Error: ", e)
mydb.rollback()
return make_response("Success!", 200)
elif flask.request.method == 'GET':
return make_response("Success!", 200)
print("DB is closed")
Я не уверен, как реализовать метод get в моем сценарии и внутри моего приложения для получения информации из базы данных. Быстрый файл, который я хотел бы предоставить, выглядит так:
class AnnotationsVM: ObservableObject {
@Published var annos = [MGLPointAnnotation]()
@Published var annotationPlacementFailed: Bool
@ObservedObject var VModel = ViewModel()
@Published var visited: Bool
//Need to change this so the first annotation that is created is the user's annotation. Alternatively, we could just not have a user annotation and just use the standard blue circle as user location for now.
init() {
let annotation = MGLPointAnnotation()
annotation.title = "Shoe Store"
annotation.coordinate = CLLocationCoordinate2D(latitude: 40.78, longitude: -73.98)
annotation.subtitle = "Shoe Different"
annotationPlacementFailed = false
visited = true
annos.append(annotation)
}
}
Я хотел бы использовать информацию из базы данных для создания аннотаций внутри функции init, но не знаю, как создать получить функцию в быстром режиме.
Короче говоря, мне нужна помощь в написании методов получения базы данных в моем flask python скрипте и в моем ios быстром файле приложения