Boa tarde!
Como logar os JSONs que chegam em um web service rest feito em Spring (@RestController)?
Obrigado!
Boa tarde!
Como logar os JSONs que chegam em um web service rest feito em Spring (@RestController)?
Obrigado!
Nunca tive essa necessidade, com o teu post, pensei que só um filtro salvaria a pátria, afinal, quando o método é acionado, o objeto já foi serializado.
Então, eis que pesquiso e voilà
Darlan
Adaptei sua sugestão, consegui pegar o JSON da request. Compartilho abaixo:
@Component public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { // some init code } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { try { HttpServletRequest requestCacheWrapperObject = new ContentCachingRequestWrapper( (HttpServletRequest) request); requestCacheWrapperObject.getParameterMap(); System.out.println("json = " + convert(requestCacheWrapperObject.getInputStream(), Charset.defaultCharset())); chain.doFilter(request, response); } catch (JsonMappingException e) { e.printStackTrace(); } } public String convert(InputStream inputStream, Charset charset) throws IOException { try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, charset))) { return br.lines().collect(Collectors.joining(System.lineSeparator())); } } @Override public void destroy() { // some code to be run at destruction } }