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

Spring Controller method being called again with the own method result

这是我的控制器:

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

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

}

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

时得到的结果

我测试了这个随机 return 只是为了展示发生了什么...... 该方法首先使用请求中的 @PathVariable = 1 进行调用,然后紧随其后,无论方法结果如何,都会再次调用该方法,在这种情况下,它会尝试通过@PathVariable = "asd3333".

我不知道到底发生了什么,请帮忙

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

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

是否需要为所有方法类型(Get、Post、Delete、...)调用此方法。如果没有尝试限制特定的方法调用。

 @RequestMapping(value = "/{id}", method = POST)

明白了。

还要将此添加到方法中,因为您 return 一个简单的字符串

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

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