Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以指定控制器级别的请求映射对于到SpringMVC控制器类的特定方法无效吗?_Spring_Spring Mvc_Spring Annotations - Fatal编程技术网

我可以指定控制器级别的请求映射对于到SpringMVC控制器类的特定方法无效吗?

我可以指定控制器级别的请求映射对于到SpringMVC控制器类的特定方法无效吗?,spring,spring-mvc,spring-annotations,Spring,Spring Mvc,Spring Annotations,我正在处理一个Spring MVC应用程序,在类级别用@RequestMapping(“/profilo/”)注释的控制器类中存在以下问题 所以我有这样的想法: @Controller @RequestMapping("/profilo/") public class ProfiloController extends BaseController { ..................................................................

我正在处理一个Spring MVC应用程序,在类级别用@RequestMapping(“/profilo/”)注释的控制器类中存在以下问题

所以我有这样的想法:

@Controller
@RequestMapping("/profilo/")
public class ProfiloController extends BaseController {

    ..................................................................
    ..................................................................
    SOME CONTROLLER METHOD THAT WORK CORRECTLY
    ..................................................................
    ..................................................................

    @RequestMapping(value = "utenze/{username}/confermaEmail/{email:.+}", method = RequestMethod.GET)
    public String confermaModificaEmail(@PathVariable String username, @PathVariable String email, Model model) {

        logger.debug("INTO confermaModificaEmail(), indirizzo e-mail: " + email);
        .......................................................................
        .......................................................................
        .......................................................................
    }
}
因此,正如您在前面的代码片段中所看到的,我有一个用@RequestMapping(“/profilo/”)注释的ProfiloController类,这意味着该类的控制器方法处理的所有HTTP请求都必须从URL中的/profilo/开始

该类的所有方法都是如此,除了confermaModificaEmail()方法必须将URL处理为:

http://localhost:8080/my-project/utenze/mario.rossi/confermaEmail/a.nobili@siatec.net
不要用/profilo/启动

因此,我是否可以指定,对于控制器的此特定方法,@RequestMapping(“/profilo/”)控制器级映射无效,不需要考虑它?

这是不可能的

Spring维护了一个适当的@Controller结构,该结构表示所有与ControllerName相关的端点(即您的案例中的公文包)都应该保留在这个类中

理想情况下,与功能无关的任何其他url都应作为不同控制器类的一部分保留

如果仍要保留在同一控制器中,请尝试通过将http调用从“/portfolio/”重定向到所需的url来调用端点url confermaModificaEmail()。但不建议这样做

这是不可能的

Spring维护了一个适当的@Controller结构,该结构表示所有与ControllerName相关的端点(即您的案例中的公文包)都应该保留在这个类中

理想情况下,与功能无关的任何其他url都应作为不同控制器类的一部分保留


如果仍要保留在同一控制器中,请尝试通过将http调用从“/portfolio/”重定向到所需的url来调用端点url confermaModificaEmail()但不建议这样做

不,您不能这样做。然后创建一个新的控制器您是否尝试过@RequestMapping(value={/profilo/“,“/utenze/”})或删除类级别
RequestMapping
并在方法级别复制
/portfolio/
。不,您不能这样做。然后创建一个新控制器您尝试过@RequestMapping(value)吗={“/profilo/”、“/utenze/”})或删除类级别的
RequestMapping
和方法级别的副本
/portfolio/
。。