如何在 Spring REST 服务中获取所有传入请求的详细信息?

我想查看使用 Spring Boot 构建的端点中的所有请求相关详细信息(如标头、正文)。如何获得?


@RestController

public class SomeRestController {

    ...

    @PostMapping("path/")

    public String getResponse(@RequestBody SomeObject object) {

        // There I want to look at Request details... but how?

        ...

    }

    ...

}


RISEBY
浏览 136回答 2
2回答

HUX布斯

如果你想得到RequestHeader你可以简单地@RequestHeader在方法中使用注释public String getResponse(@RequestBody SomeObject object, @RequestHeader("Content-type") String contentType) {另一种方法是,这种注入HttpServletRequest将由 spring 处理 public String getResponse(HttpServletRequest request,   @RequestBody SomeObject object) {String userAgent = request.getHeader("content-Type");}或者  Enumeration headerNames = request.getHeaderNames();    while (headerNames.hasMoreElements()) {        String key = (String) headerNames.nextElement();        String value = request.getHeader(key);

慕婉清6462132

为给定的场景定义您需要的任何控制器方法签名,可能使用参数注释之一(例如@RequestParam、@RequestHeader、@PathVariable 等)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java