@RequestMapping不起作用-找不到处理程序方法

时间:2018-08-22 12:31:55

标签: java rest spring-mvc spring-boot servlets

我在使 @RequestMapping 正常工作时遇到问题,我收到以下日志;您能帮我了解一下日志吗?

启动时登录:

  

调试o.s.web.servlet.DispatcherServlet-名称为'dispatcherServlet'的DispatcherServlet处理[/ ruler / webjars / test]的GET请求

     

DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping-查找路径/ webjars / test的处理程序方法

     

DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping-找不到[/ webjars / test]的处理程序方法

     

DEBUG o.s.w.s.h.SimpleUrlHandlerMapping-请求[/ webjars / test]的匹配模式为[/ webjars / ,/ ]

     

DEBUG o.s.w.s.h.SimpleUrlHandlerMapping-请求[/ webjars / test]的URI模板变量为{}

     

DEBUG oswshSimpleUrlHandlerMapping-使用处理程序[ResourceHttpRequestHandler [locations = [类路径资源[META-INF / resources / webjars /]]],解析器= [org.springframework.web.servlet],将[/ webjars / test]映射到HandlerExecutionChain。 resource.PathResourceResolver@52454457]]]和1个拦截器

     

调试o.s.web.servlet.DispatcherServlet-[/ ruler / webjars / test]的最后修改值为:-1

     

DEBUG o.s.web.servlet.DispatcherServlet-空的ModelAndView返回到DispatcherServlet,名称为“ dispatcherServlet”:假定HandlerAdapter完成了请求处理

     

调试o.s.web.servlet.DispatcherServlet-成功完成请求

访问 localhost:80 / ruler / test 时登录:

  

DEBUG o.s.web.servlet.DispatcherServlet-名称为DispatcherServlet   'dispatcherServlet'处理GET请求[/ ruler / test]

     

DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping-查找处理程序   / test的方法

     

DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping-找不到   [/ test]

的处理程序方法      

DEBUG o.s.w.s.h.SimpleUrlHandlerMapping-的匹配模式   请求[/ test]是[/ **]

     

DEBUG o.s.w.s.h.SimpleUrlHandlerMapping-的URI模板变量   请求[/ test]是{}

     

DEBUG o.s.w.s.h.SimpleUrlHandlerMapping-映射[/ test]到   带处理程序[ResourceHttpRequestHandler的HandlerExecutionChain   [locations = [类路径资源[META-INF / resources /],类路径   资源[资源/],类路径资源[静态/],类路径   资源[public /],ServletContext资源[/]],   resolvers = [org.springframework.web.servlet.resource.PathResourceResolver@4538856f]]]   和1个拦截器

     

DEBUG o.s.web.servlet.DispatcherServlet-的最后修改值   [/ ruler / test]是:-1

     

DEBUG o.s.web.servlet.DispatcherServlet-返回了null的ModelAndView   命名为“ dispatcherServlet”的DispatcherServlet:   HandlerAdapter完成请求处理

     

DEBUG o.s.web.servlet.DispatcherServlet-成功完成   请求

Application.properties:

server.servlet.context-path=/ruler
server.port=80

RestController:

    @RestController
public class myController {
    private final MedicalService medicalService;

    @Autowired
    public myController(MedicalService medicalService) {
        this.medicalService = medicalService;
    }

    @RequestMapping(value="/test")
    public String testRest()
    {
        return "Yay";
    }
}

没有web.xml。

3 个答案:

答案 0 :(得分:1)

找到了我的问题here的答案,这是因为项目结构而不是配置。

应用程序包应类似于com.app,然后控制器应为com.app.controller

答案 1 :(得分:0)

还可以将@GetMapping与ResponseEntity一起使用以获取更多具体信息

 $firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];

print("<div ><strong>Thanks for your Input</strong></div>");
print("<div><br><br>Welcome to the site " . $firstname . " " . $lastname . "</div>");
?>

答案 2 :(得分:0)

更改

@RequestMapping(value="/test")

@RequestMapping(value="/test", method = RequestMethod.GET)