Como "pegar" os JSONs que chegam na API Spring Rest?

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à

1 curtida

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
	}

}