Я хочу получить тело запроса / ответа и заголовок в моем аспекте до и после, если он доступен или как их получить.
Я имею в виду, что я думаю, что аннотация до должна работать для запроса,
с аннотацией после должен работать для ответа. Возможно ?
То, что я пробовал до сих пор:
Я пробовал библиотеку журналов, это очень сложно для меня, я не мог понять, как с этим работать. сдался.
Привод может делать трюки, но я делаю дополнительную работу, например, сколько раз конечные точки называли et c. Поэтому я не могу использовать привод.
Также я пробовал чтобы получить заголовки запросов, как показано ниже, по крайней мере, но я думаю, что эти заголовки все время будут одинаковыми. Я не мог получить httpservletresponse, как это делает httpservetrequest.
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
.getRequest();
затем request.getHeader("date")
но как насчет requestbody?
как получить requestbody? responsebody? repsonseheader?
Мой файл аспекта:
@Aspect
@Component
public class AppAspect implements ResponseInfo{
@Before("execution(@(@org.springframework.web.bind.annotation.RequestMapping *) * *(..))")
public void loggingStartPointRequests(JoinPoint joinPoint) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
.getRequest();
}
@After("execution(@(@org.springframework.web.bind.annotation.RequestMapping *) * *(..))")
public void loggingEndPointRequests(JoinPoint joinPoint) throws IOException {
}
}
Мой класс контроллера:
@RestController
public class MainController {
@GetMapping("/people") //
public ResponseEntity<Poeple> getAllPeople(@RequestParam(name = "page", required = false) Integer page,
@RequestParam(name = "size", required = false) Integer size,
@RequestParam(name = "sortBy", required = false) Boolean sortByNameOrEpCount) {
doSomething();
}
}