Skip to content

Instantly share code, notes, and snippets.

@Linkit123
Created January 8, 2022 02:39
Show Gist options
  • Save Linkit123/04b3e4051487215385fa8224da8149c0 to your computer and use it in GitHub Desktop.
Save Linkit123/04b3e4051487215385fa8224da8149c0 to your computer and use it in GitHub Desktop.
package com.dvtt.demo.coredemo.controller;
import com.dvtt.demo.coredemo.service.LoggingServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.core.MethodParameter;
import org.springframework.http.HttpInputMessage;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.lang.reflect.Type;
/**
* Created by linhtn on 1/3/2022.
*/
@ControllerAdvice
@AllArgsConstructor
public class CustomRequestBodyAdviceAdapter extends RequestBodyAdviceAdapter {
final LoggingServiceImpl loggingService;
final HttpServletRequest httpServletRequest;
@Override
public boolean supports(MethodParameter methodParameter, Type type,
Class<? extends HttpMessageConverter<?>> aClass) {
return true;
}
@Override
// for post method
public Object afterBodyRead(Object body, HttpInputMessage inputMessage,
MethodParameter parameter, Type targetType,
Class<? extends HttpMessageConverter<?>> converterType) {
loggingService.logRequest(httpServletRequest, body);
return super.afterBodyRead(body, inputMessage, parameter, targetType, converterType);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment