我如何使用拦截器在 Spring 控制器中设置字段
How can i use an Interceptor to set a field in Spring Controller
我有一个像下面这样的控制器
@RestController
class TestController{
private String country;
public String m1(){}
public String m2(){}
public String m3(){}
public String m4(){}
}
m1 到 m4 的所有方法都需要取自 header 的国家/地区。
有没有一种方法可以为这个控制器的所有方法做到这一点。
我尝试使用拦截器,但是在拦截器执行结束后我无法获取国家/地区。那就是我总是让国家为 null
Spring MVC 提供 @RequestHeader
其中
indicates that a method parameter should be bound to a web request header
适当地注释您的处理程序方法参数
@RequestMapping("/somePath")
public ReturnType example(@RequestHeader("country-header") String country) {
// use it
}
Spring MVC 堆栈将提取 header 值并使用它来调用您的处理程序方法。
我有一个像下面这样的控制器
@RestController
class TestController{
private String country;
public String m1(){}
public String m2(){}
public String m3(){}
public String m4(){}
}
m1 到 m4 的所有方法都需要取自 header 的国家/地区。
有没有一种方法可以为这个控制器的所有方法做到这一点。
我尝试使用拦截器,但是在拦截器执行结束后我无法获取国家/地区。那就是我总是让国家为 null
Spring MVC 提供 @RequestHeader
其中
indicates that a method parameter should be bound to a web request header
适当地注释您的处理程序方法参数
@RequestMapping("/somePath")
public ReturnType example(@RequestHeader("country-header") String country) {
// use it
}
Spring MVC 堆栈将提取 header 值并使用它来调用您的处理程序方法。