为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

RISEBY 2021-06-28 12:57:59
我想查看使用 Spring Boot 构建的端点中的所有请求相关详细信息(如标头、正文)。如何获得?@RestControllerpublic class SomeRestController {    ...    @PostMapping("path/")    public String getResponse(@RequestBody SomeObject object) {        // There I want to look at Request details... but how?        ...    }    ...}
查看完整描述

2 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

如果你想得到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);


查看完整回答
反对 回复 2021-07-07
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

为给定的场景定义您需要的任何控制器方法签名,可能使用参数注释之一(例如@RequestParam、@RequestHeader、@PathVariable 等)。

查看完整回答
反对 回复 2021-07-07
  • 2 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信