Я хочу создать простую конечную точку, которая возвращает объект Order
, где я могу искать этот заказ по одному параметру запроса или по комбинации нескольких параметров запроса в целом. Все эти параметры запроса являются необязательными, и причина в том, что разные люди будут получать доступ к этим заказам на основе разных идентификаторов.
Так, например: /order/items?itemId={itemId}&orderId={orderId}&deliveryId={deliveryId}&packetId={packetId}
@GetMapping(path = "/order/items", produces = "application/json")
public Order getOrders(@RequestParam Optional<String> itemId,
@RequestParam Optional<String> orderId,
@RequestParam Optional<String> deliveryId,
@RequestParam Optional<String> packetId) { }
Конечно, я мог бы также пропустить Java Необязательно и использовать @RequestParam(required = false)
, но вопрос здесь заключается скорее в том, как мне избежать if-else
или .isPresent()
кошмарная проверка проверки, равны ли параметры запроса нулю? Или есть элегантный способ, в зависимости от комбинации параметров, перейти к моему сервису и репозиторию Spring Data JPA.