当你定义了restController但忘记定义requestMapping时也会出现此错误。
@RestController
@RequestMapping("/api/orders") // <---- dont't forget the requestMapping
当我尝试通过这种方式定义 RestController 路径时,出现了这个问题:
@RestController("/test")
public class TestController {}
在上面的部分中,这个声明的含义是不同的。这里实际上“/test”被定义为bean名称而不是控制器的路径。
以这种方式定义路径后,它对我有用:
@RestController
@RequestMapping("/test")
public class TestController {}
我解决了这个问题。我忘记在控制器类中添加
@Controller
注释。因此,我们可以在应用程序中同时使用这两种方法(注释映射和 XML 映射)。
尝试添加以下内容作为处理程序映射器(对我有用):
<bean id="HandlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
确保您已在控制器类中实现了
Controller
并重写了 handleRequest
方法。
这里我们的控制器类应该扩展
import org.springframework.web.servlet.mvc.AbstractController;
public class AppController extends AbstractController{ }
这里我们需要将抽象方法实现为:
protected modelandview handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { return null; }
使用@RequestMapping注解。