Всем привет. Копаюсь сейчас в AspectJ, которая привлекает возможностью применять дополнительную логику через аннотирование. Например, мы можем логировать запросы таким образом:
Аннотация:
@ApiLogResponse(httpMethod = HttpMethod.POST, path = "/planet")
@PostMapping
public ResponseEntity<PlanetDto> save(@RequestBody PlanetDto dto) {
return ResponseEntity.ok(service.save(dto));
}
И сам процессор:
@AfterReturning(value = "@annotation(after)", returning = "responseEntity")
public void after(ResponseEntity responseEntity, ApiLogResponse after) throws JsonProcessingException {
service.save(ApiLog.of(
TransferType.RESPONSE.name(),
after.httpMethod().name(),
after.path(),
new ObjectMapper().writeValueAsString(responseEntity)
));
}
То есть, если с применением простых аннотаций мы обычно сетим значения в методы, то тут, наоборот, работаем с параметрами метода в аннотации. В данном примере, мы логируем в базу приходящий запрос.
На англоязычной версии stackoverflow какой-то посетитель сказал мне, что AspectJ устарел и ей никто не пользуется.
В связи с этим, у меня два вопроса:
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть задача: Нужно создать клиент и REST web-сервис на java
Я делаю запрос в базу данных "SELECT * FROM USER_FM WHERE PHONE = ? OR EMAIL = ?"База данных ORACLE