Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/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 @请求映射不';t工作-未找到处理程序方法_Java_Rest_Spring Mvc_Spring Boot_Servlets - Fatal编程技术网

Java @请求映射不';t工作-未找到处理程序方法

Java @请求映射不';t工作-未找到处理程序方法,java,rest,spring-mvc,spring-boot,servlets,Java,Rest,Spring Mvc,Spring Boot,Servlets,我在让@RequestMapping工作时遇到问题,我得到以下日志;你能帮我理解一下日志吗 启动时记录: 调试o.s.web.servlet.DispatcherServlet-名为“DispatcherServlet”的DispatcherServlet正在处理[/ruler/webjars/test]的GET请求 调试o.s.w.s.m.m.a.RequestMappingHandlerMapping-查找path/webjars/test的处理程序方法 调试o.s.w.s.m.m.a.Re

我在让@RequestMapping工作时遇到问题,我得到以下日志;你能帮我理解一下日志吗

启动时记录:

调试o.s.web.servlet.DispatcherServlet-名为“DispatcherServlet”的DispatcherServlet正在处理[/ruler/webjars/test]的GET请求

调试o.s.w.s.m.m.a.RequestMappingHandlerMapping-查找path/webjars/test的处理程序方法

调试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.simplerlhandermapping-request[/webjars/test]的URI模板变量为{}

调试o.s.w.s.h.SimpleUrlHandlerMapping-使用处理程序[ResourceHttpRequestHandler[locations=[class path resource[META-INF/resources/webjars/]将[/webjars/test]映射到HandlerExecutionChain,解析器=[org.springframework.web.servlet.resource]。PathResourceResolver@52454457]]]和1个拦截器

DEBUG o.s.web.servlet.DispatcherServlet-[/ruler/webjars/test]的上次修改值为:-1

DEBUG o.s.web.servlet.DispatcherServlet-返回给名为“DispatcherServlet”的DispatcherServlet的Null ModelAndView:假设HandlerAdapter已完成请求处理

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

访问localhost:80/ruler/test时记录日志:

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

调试o.s.w.s.m.m.a.RequestMappingHandlerMapping-查找处理程序 路径/测试方法

调试o.s.w.s.m.m.a.RequestMappingHandlerMapping-未找到 [/test]的处理程序方法

调试o.s.w.s.h.SimpleUrlHandlerMapping-用于 请求[/test]为[/**]

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

调试o.s.w.s.h.SimpleUrlHandlerMapping-映射[/test]到 HandlerExecutionChain与handler[ResourceHttpRequestHandler [位置=[类路径资源[META-INF/resources/],类路径 资源[resources/],类路径资源[static/],类路径 资源[public/],ServletContext资源[/], 解析器=[org.springframework.web.servlet.resource。PathResourceResolver@4538856f]]] 和1个拦截器

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

DEBUG o.s.web.servlet.DispatchersServlet-返回Null ModelAndView 到名为“DispatcherServlet”的DispatcherServlet:假设 HandlerAdapter已完成请求处理

调试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。

您还可以使用@GetMapping和ResponseEntity来获取更具体的信息

    @GetMapping(value = "/test")
    public ResponseEntity<String> testRest(){
        return ResponseEntity.ok("Yay");
    }
@GetMapping(value=“/test”)
公共响应性测试{
返回响应。好(“耶”);
}

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

应用程序包应该类似于
com.App
,那么控制器应该是
com.App.controller

@RequestMapping(value="/test")


1.显示完整的控制器类或至少类声明和注释2。您如何调用此端点以及url使用的是什么?请尝试将
@ResponseBody
注释添加到您的
testRest
method@S.Tushinov根据文件,这是不利的;使用
@RestController
相当于使用
@Controller
@ResponseBody
您不应该访问url和端口号吗?类似于
localhost:8080/ruler/test的东西,我在问题本身中添加了日志;它只是说它找不到任何映射!我认为这可以解决问题,因为他的请求是一个GET请求,处理程序无法找到它的映射,但是正如Ace在自己的回答中所讨论的,问题来自不同的原因。请指定这应该解决问题的原因。
@RequestMapping(value="/test", method = RequestMethod.GET)