簡體   English   中英

如何在Spring REST服務中獲取所有傳入的請求詳細信息?

[英]How to get all incoming request details in Spring REST service?

我想查看使用Spring Boot構建的端點中所有請求的相對詳細信息(例如標頭,正文)。 如何獲得?

@RestController
public class SomeRestController {
    ...
    @PostMapping("path/")
    public String getResponse(@RequestBody SomeObject object) {
        // There I want to look at Request details... but how?
        ...
    }
    ...
}

如果要獲取RequestHeader ,可以在方法中使用@RequestHeader批注

public String getResponse(@RequestBody SomeObject object,
 @RequestHeader("Content-type") String contentType) {

您可以執行的另一種方法是,在春季之前將對HttpServletRequest注入進行處理。

 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);

定義給定方案所需的任何控制器方法簽名,可能使用參數注釋之一(例如@ RequestParam,@ RequestHeader,@ PathVariable等)。

參考: 15. Web MVC框架

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM