НО! Они все пользуются одной и той же БД, из которой "черпают" данные "общего назначения": юзеры, ассеты, события и пр.
Вот я и хочу "общую часть" вынести куда-то отдельно. И спрашиваю как это принято делать: библиотека? модуль? сервис?Можно сделать как подключаемую библиотеку (пакет Java), вынеся всё в ядро самое необходимое. Вокруг библиотеки ядра могут быть созданы какие-то библиотеки-обвески. Репозиториев библиотек может быть несколько, для простоты. Каждая библиотека может иметь свою версию и использоваться монолитом при сборке.
Это значит, мне надо сделать 1000 репозиториев, в каждом Х методов (получение по ID, получение по значению поля, одного объекта, коллекции...). И ещё 1000*Х методов в контроллерах....Ну зачем так? Нет смысла дробить даже на десятки, не говоря уже о тысячах.
Или для чистого API есть более подходящие архитектуры?
Как я могу узнать откуда и куда идут атаки? И могу ли я как - то это предотвратить, путем блокировки исходящего трафика
<script src="/js/script.js?1273455236"></script>
class Main {
public static void main(String[] args) {
A b = Fabric.getInstance("B");
A c = Fabric.getInstance("C");
System.out.println(b.getString());
System.out.println(c.getString());
}
}
class Fabric {
public static A getInstance(String className) {
return switch (className) {
case "B" -> new B();
case "C" -> new C();
default -> throw new IllegalArgumentException("Unknown class name " + className);
};
}
}
interface A {
String getString();
}
class B implements A {
@Override
public String getString() {
return "bbb";
}
}
class C implements A {
@Override
public String getString() {
return "ccc";
}
}
$get_params = drupal_get_query_parameters();
echo $get_params['arg'];
@Query
, как вы и делаете.@Query(value = "select FIELD1, FIELD2 from TABLE
where
CRITERIA1 = :criteria1 and
CRITERIA2 = :criteria2 and
CRITERIA3 in :criteria3 and
CRITERIA4 in :criteria4", native = true);
List<MyPOJO> getAllPojo(@Param Integer criteria1, @Param String criteria2, @Param List<Integer> criteria3, @Param List<String> criteria4);
native=true
если вы будете писать на JPQL