0
在控制器注入HTTP請求頭到服務豆,我可以使用下面的代碼如何使用彈簧
@RestController
public class MyController {
@RequestMapping(value = "/mypath", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity moveEnrollment(@RequestHeader Map<String, String> headers) {
..invoke business logic
}
}
訪問所有@RequestHeader
■如何注入頭在Spring的服務Bean上是不是一個控制器?否則,我需要將這個hashmap傳遍整個地方。
我知道我可以注入HttpServletRequest
然後獲取標題,但如果它可以直接注入,它會更容易。
你實際上可以在任何地方注入HttpServletRequest。如果調用線程是http請求的一部分,那麼它實際上就是那個請求實例。但是如果線程不是請求線程,則它爲空。 –
我明白你在說什麼,但我認爲安倍要求的是將它注入服務而不是方法。我解釋說請求不是全局bean,而是每個請求。 –
@AminJ你可以注入httpservletrequest對象到spring服務bean中。我猜測這是使用threadlocals完成的。因此,即使httprequest對象是每個請求都是新的,但該bean將爲該線程正確注入。問是否我也可以對請求標題也做同樣的事情。 – Abe