自学内容网 自学内容网

SPRINGBOOT HTTP REQUEST 打印

参考方案

https://www.baeldung.com/spring-http-logging
https://stackoverflow.com/questions/33744875/spring-boot-how-to-log-all-requests-and-responses-with-exceptions-in-single-pl

简单办法

@Controller
@RequestMapping("/**")
@Slf4j
public class CaptureNetController {
    @RequestMapping(value = "")
    @SneakyThrows
    public ResponseEntity<Void> capture(HttpServletRequest request) {
        var mapper = new ObjectMapper();
        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);

        var lines = IOUtils.readLines(request.getInputStream());
        log.info("url:{}", request.getRequestURI());
        log.info("method:{}", request.getMethod());
        log.info("body:{}", lines);

        log.info("parameters:{}", mapper.writeValueAsString(request.getParameterMap()));

        if (request instanceof MultipartRequest mpRequest) {
            log.info("files:{}", mapper.writeValueAsString(mpRequest.getFileNames()));
        }

        log.info("=======================================================================");
        return ResponseEntity.ok(null);
    }
}

环境允许tcpdump更简单


原文地址:https://blog.csdn.net/HeLiang7/article/details/142913782

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!