У меня есть служба отдыха, которая будет обслуживать нескольких клиентов.
URL-адрес POST-запроса: / activity
Запрос Client1:
{
"client": "Client1",
"name": "AAA",
"surName": "BBB",
...
}
Запрос Client2:
{
"client": "Client2",
"name": "CCC",
"surName": "DDD",
...
}
Запрос Client3:
{
"client": "Client3",
"name": "EEE",
"surName": "FFF",
...
}
Каждый клиентский запрос будет храниться в отдельных таблицах. Имя клиента будет находиться в теле ввода между тегами клиента. Теперь, основываясь на этом имени клиента, сервис должен вставить записи в соответствующую таблицу клиентов.
Я использую Java с Spring Boot (для службы отдыха) и Spring Data Repository (для хранения данных входящего запроса внутри таблицы).
Имя таблицы имеет вид:
for Client1 ==> TB_CLIENT1_REQUEST
for Client2 ==> TB_CLIENT2_REQUEST
for Client3 ==> TB_CLIENT3_REQUEST
Один из подходов заключается в следующем: я могу использовать операторы if else для проверки имени клиента и вызова соответствующего класса репозитория для вставки запроса в отдельную таблицу клиентов.
if (client === 'Client1') {
client1Repository.save(client1Entity);
} else if(client === 'Client2') {
client2Repository.save(client2Entity);
} else if(client === 'Client3') {
client3Repository.save(client3Entity);
}
Существуют ли другие разумный подход без использования операторов if else. ?
Примечание: Я не могу использовать несколько конечных точек для разных клиентов. Конечная точка должна быть одинаковой для каждой операции.
Пожалуйста, дайте мне знать.
Заранее спасибо.