https://buiquanghieu.com/posts/spring-boot-interceptor/