我可以写两个类似的宁静的网络服务

时间:2016-07-27 15:45:55

标签: spring-mvc

这个问题在接受采访时被问到。 我们可以用相同的uri和相同的方法类型实现两个相似的端点吗?如果是,dispatcherservlet如何识别端点?如果没有,我们会得到什么例外?

例如:

@RequestMapping(value = "/test", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity test(){
}

@RequestMapping(value = "/test", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity test1(){
}

1 个答案:

答案 0 :(得分:0)

不,这是不可能的。如果您尝试,您将获得以下例外:

Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'testController' method 
public org.springframework.http.ResponseEntity com.TestController.test1()
to {[/test],methods=[POST]}: There is already 'testController' bean method
public org.springframework.http.ResponseEntity com.TestController.test() mapped.