Как спроектировать код. Есть (пишется) микросервис. Который принимает JSON и пишет его в БД.
Есть несколько вопросов.
1. connection где лучше объявлять\открывать в bin\main.dart?
PostgreSQLConnection connection; // делаем доступным глобально, но потом import main везде придется делать
void main() async {
}
Если не так, то куда лучше положить?
2. Сервис должен обрабатывать и вставлять в БД прилетающий JSON. Как этот момент лучше спроектировать?
app.post('/api', (req, res) async {
Database db = Database();
await db.doSomeInsert(req);
});
Стоит ли создавать экземпляр работающий с БД таким образом?
Если у меня несколько эндпоинтов в API то нужно ли для каждого создавать изоляты?
Главный вопрос -- будет ли в Dart разница между:
app.post('/api', (req, res) async {
Database db = Database();
await db.doSomeInsert(req);
});
и
Database db = Database();
app.post('/api', (req, res) async {
await db.doSomeInsert(req);
});
Если у меня несколько десятков запросов прилетает одновременно, а внутри класса db хранятся промежуточные поля которые для каждого JSON уникальны, то получается, что они будут перезаписываться и это приведет к ошибке?