Groovy Spring Boot REST服务正在为有效路径

时间:2017-12-28 11:39:04

标签: spring spring-boot groovy thymeleaf

我创建了一个spring-boot-troubleshooting repo on GitHub,可以完全重现此错误。

我正在构建一个基于Spring Boot的REST服务,该服务暴露RESTful API端点,绝对没有UI /视图/ HTML页面。

你可以在那个repo的build.gradle中看到我依赖的唯一两个Spring Boot依赖项是:

,'org.springframework.boot:spring-boot-starter-jetty'
,'org.springframework.boot:spring-boot-starter-actuator'

所以没有视图相关(Thymeleaf等)。

当您运行该应用并打开浏览器转到FizzbuzzResource网址时,您将获得:

Problem accessing /error. Reason:

Not Found

然后在控制台上你会看到:

WARN  o.s.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/v1/fizzbuzz/12345] in DispatcherServlet with name 'dispatcherServlet'

我想知道为什么 Spring抱怨基于HTML的PageNotFound错误,这应该是一个纯粹的REST服务,当然,我很想知道修复是什么得到这个工作并正确返回我的Fizzbuzz资源!

1 个答案:

答案 0 :(得分:0)

你需要启用web mvc并使ApiVersionRequestMappingHandlerMapping容器中的bean,否则Spring不会使用你的ApiVersionRequestMappingHandlerMapping#getMappingForMethod

查看我的提交https://github.com/yaoReadingCode/spring-boot-troubleshooting/commit/6260c394f4c28d155bbf016a758f3d37a5682a9c