【发布时间】:2019-01-28 17:20:42
【问题描述】:
我在让 @RequestMapping 工作时遇到问题,我得到以下日志;你能帮我理解一下日志吗?
启动时记录:
调试 o.s.web.servlet.DispatcherServlet - 名称为“dispatcherServlet”的 DispatcherServlet 处理 [/ruler/webjars/test] 的 GET 请求
调试 o.s.w.s.m.m.a.RequestMappingHandlerMapping - 查找路径 /webjars/test 的处理程序方法
调试 o.s.w.s.m.m.a.RequestMappingHandlerMapping - 未找到 [/webjars/test] 的处理程序方法
调试 o.s.w.s.h.SimpleUrlHandlerMapping - 请求的匹配模式 [/webjars/test] 是 [/webjars/, /]
调试 o.s.w.s.h.SimpleUrlHandlerMapping - 请求 [/webjars/test] 的 URI 模板变量是 {}
调试 oswshSimpleUrlHandlerMapping - 使用处理程序 [ResourceHttpRequestHandler [locations=[class path resource [META-INF/resources/webjars/]],resolvers=[org.springframework.web.servlet] 将 [/webjars/test] 映射到 HandlerExecutionChain。 resource.PathResourceResolver@52454457]]] 和1个拦截器
调试 o.s.web.servlet.DispatcherServlet - [/ruler/webjars/test] 的 Last-Modified 值为:-1
调试 o.s.web.servlet.DispatcherServlet - Null ModelAndView 返回到名为“dispatcherServlet”的 DispatcherServlet:假设 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 - 查找处理程序 路径 /test 的方法
调试 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 [ResourceHttpRequestHandler [locations=[类路径资源[META-INF/resources/],类路径 资源 [resources/],类路径资源 [静态/],类路径 资源 [public/],ServletContext 资源 [/]], 解析器=[org.springframework.web.servlet.resource.PathResourceResolver@4538856f]]] 和 1 个拦截器
DEBUG o.s.web.servlet.DispatcherServlet - Last-Modified 值 [/ruler/test] 是:-1
调试 o.s.web.servlet.DispatcherServlet - 返回 Null ModelAndView 到名为“dispatcherServlet”的 DispatcherServlet:假设 HandlerAdapter 完成请求处理
调试 o.s.web.servlet.DispatcherServlet - 成功完成 请求
Application.properties:
server.servlet.context-path=/ruler
server.port=80
休息控制器:
@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。
【问题讨论】:
-
1.显示您完整的控制器类或至少类声明和注释 2. 您如何调用此端点以及您使用的 url 是什么?
-
尝试将
@ResponseBody注释添加到您的testRest方法中 -
@S.Tushinov 根据文件,这是没有好处的;使用
@RestController等效于使用@Controller和@ResponseBody -
您不应该访问 url 和端口号吗?类似
localhost:8080/ruler/test
标签: java rest spring-mvc spring-boot servlets