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 正在使用自己的方法结果再次调用Spring控制器方法_Java_Spring Mvc_Request Mapping - Fatal编程技术网

Java 正在使用自己的方法结果再次调用Spring控制器方法

Java 正在使用自己的方法结果再次调用Spring控制器方法,java,spring-mvc,request-mapping,Java,Spring Mvc,Request Mapping,这是我的控制器: @Controller @RequestMapping("/area") public class AreaController { @RequestMapping("/{id}") public String getPage(@PathVariable("id") int id){ return "asd3333"; } } 这就是当我访问http:/

这是我的控制器:

@Controller
@RequestMapping("/area")
public class AreaController {

    @RequestMapping("/{id}")
    public String getPage(@PathVariable("id") int id){
        return "asd3333";
    }

}
这就是当我访问http://localhost:8080/area/1:

未能将“java.lang.String”类型的值转换为所需的类型“int”;嵌套异常为java.lang.NumberFormatException:对于输入字符串:asd3333] 我测试了这个随机返回只是为了说明发生了什么。。。 首先使用请求中的@PathVariable=1调用该方法,然后紧接着,无论方法结果如何,都会再次调用该方法,在本例中,该方法尝试传递@PathVariable=asd3333


我不知道发生了什么事,请帮忙,听起来确实很奇怪。我将从一个问题开始

@RequestMapping("/{id}")
public String getPage(@PathVariable("id") int id){
    return "asd3333";
}
是否需要为所有方法类型Get、Post、Delete等调用此方法。。。。如果没有,请尝试使用特定的方法调用进行限制

明白了

还可以将其添加到方法中,因为您将返回一个简单字符串

@RequestMapping("/{id}")
@ResponseBody
public String getPage(@PathVariable("id") int id)

另外,如果您不打算将此API用作web MVC应用程序,而是作为rest API后端从@Controller切换到@RestController。

听起来确实很奇怪。我将从一个问题开始

@RequestMapping("/{id}")
public String getPage(@PathVariable("id") int id){
    return "asd3333";
}
是否需要为所有方法类型Get、Post、Delete等调用此方法。。。。如果没有,请尝试使用特定的方法调用进行限制

明白了

还可以将其添加到方法中,因为您将返回一个简单字符串

@RequestMapping("/{id}")
@ResponseBody
public String getPage(@PathVariable("id") int id)

另外,如果您不打算将此API用作web MVC应用程序,而是作为rest API后端从@Controller切换到@RestController。

也许,您打算使用@RestController而不是@Controller。第一步始终是将记录器设置为org.springframework.web:DEBUG并发布浏览器的网络选项卡。也许,您打算使用@RestController而不是@controller第一步总是将记录器设置为org.springframework.web:DEBUG并发布浏览器的“网络”选项卡。几年前,@GetMapping通常优先于method=GET。是的,“@ResponseBody”解决了这个问题。最初我试图用thymeleaf呈现页面,所以我使用了“@Controller”。我忘了把thymeleaf dependencie放进去,这就是为什么它不能只使用ModelAndView返回,而不使用'@ResponseBody'。感谢几年前,@GetMapping通常比method=GET更受欢迎。是的,@ResponseBody解决了这个问题。最初我试图用thymeleaf呈现页面,所以我使用了“@Controller”。我忘了把thymeleaf dependencie放进去,这就是为什么它不能只使用ModelAndView返回,而不使用'@ResponseBody'。谢谢