如何访问Spring中类级别指定的控制器的PathVariable?

时间:2015-08-26 20:48:04

标签: java spring spring-mvc

我可以使用Spring MVC做这样的事情吗?

@RequestMapping(value = "/{root}")
public abstract class MyBaseController {

    @PathVariable(value = "root")
    protected ThreadLocal<String> root;

}

@Controller
public class MyController extends MyBaseController {

    @RequestMapping(value = "/sayHello")
    @ResponseBody
    public String hello() {
        return "Hello to " + this.root.get();
    }

}

当我向http://..../roberto/sayHello提出请求时,我将此作为回复:

Hello to roberto

1 个答案:

答案 0 :(得分:-1)

根据文件:

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/PathVariable.html

PathVariable注释本身使用@Target(value=PARAMETER)进行注释,因此不应该按照您所说的方式使用它,因为它只适用于方法参数。