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
Java 确保SpringMVC中的两个请求映射变量匹配_Java_Spring Mvc - Fatal编程技术网

Java 确保SpringMVC中的两个请求映射变量匹配

Java 确保SpringMVC中的两个请求映射变量匹配,java,spring-mvc,Java,Spring Mvc,我的Spring MVC控制器中有以下@RequestMapping: @RequestMapping(value = "{personId}/rtbc-{personId}-badge.pdf", method = RequestMethod.GET) public ModelAndView produceBadgePdf(@PathVariable Integer personId){ // rest of the code } 我的问题是:如何确保@RequestMapping中

我的Spring MVC控制器中有以下
@RequestMapping

@RequestMapping(value = "{personId}/rtbc-{personId}-badge.pdf", method = RequestMethod.GET)
public ModelAndView produceBadgePdf(@PathVariable Integer personId){
    // rest of the code
}

我的问题是:如何确保
@RequestMapping
中的两个
personId
是匹配的整数?我应该让变量名不同吗?或者我可以保持变量名不变吗?

我会将它们更改为单独的整数,这样您就可以比较它们,并得出以下结果。鉴于上面的示例,这应该不会引起任何问题,并且您也不需要编辑请求的任何客户端代码

@RequestMapping(value = "{personId}/rbc-{secondPersonId}-badge.pdf", method = RequestMethod.GET)
public ModelAndView produceBadgePdf(@PathVariable Integer personId, @PathVariable Integer secondPersonId){
    if(secondPersonId !=null && secondPersonId.equals(personId)) { }
}

我会把它们改成单独的整数,这样你们就可以比较它们,最后得到下面的结果。鉴于上面的示例,这应该不会引起任何问题,并且您也不需要编辑请求的任何客户端代码

@RequestMapping(value = "{personId}/rbc-{secondPersonId}-badge.pdf", method = RequestMethod.GET)
public ModelAndView produceBadgePdf(@PathVariable Integer personId, @PathVariable Integer secondPersonId){
    if(secondPersonId !=null && secondPersonId.equals(personId)) { }
}

你最好使用secondPersonId.equals(personId)。这只是一个简单的例子,但我已经更改了它,因此它是两个.equals,并且不会抛出NPE,无论哪种方式都是学术性的。@david99world谢谢,这确实有帮助。记住!=如果用户只发送一个值,因此不会抛出NPE,则secondPersonId为null:3您最好使用secondPersonId.equals(personId)。这只是一个简单的示例,但我已将其更改为两者都是。equals,并且不会抛出NPE,无论哪种方式都是学术性的。@david99world谢谢,这确实有帮助。记住!=如果用户只通过发送一个值,则第二个PersonId上的值为null,这样它就不会抛出NPE:3