我按照http://spring.io/guides/gs/rest-service/的配方创建了一个新的Spring Boot REST项目 我可以得到" Hello World"项目工作(它的Java代码)。服务器映射路径" / test"并在我连接时返回数据。但是,如果我尝试在Groovy中创建一个类似的控制器,它就不会被映射。我的groovy类存在于src / main / groovy / hello中,而教程中的Java类存在于src / main / java中。我正在使用Gradle 2.4构建,并且我已经应用了#growary'插入。代码被正确编译,所有类最终都在同一个位置。令人沮丧的是,我几个月前在另一个项目中工作过,但我再也无法访问该源代码了。总结一下,这里是src / main / java / hello / GreetingController.java中的Java代码:
@Controller
public class GreetingController {
@RequestMapping("/test")
@ResponseBody
public HttpEntity<String> hello() {
return new ResponseEntity<String>("hello", HttpStatus.OK);
}
}
这是src / main / groovy / hello / TestController.groovy中相应的Groovy代码:
@Controller
class TestController {
@RequestMapping("/othertest")
@ResponseBody
HttpEntity<String> hello() {
return new ResponseEntity("hello", HttpStatus.OK)
}
}
我在类路径上有groovy-all jar以及spring-boot-starter-web jar。一切都编译好,没有错误启动,但只有&#34; / test&#34;来自Java类的@RequestMapping实际上被映射。编译后的类在构建后最终在同一目录中。 Java和Groovy文件之间的代码基本相同。我错过了什么?顺便说一句,我正在运行Spring Boot 1.2.3,Groovy 2.3.9和Oracle的JDK 1.8.0_25以防万一。
答案 0 :(得分:1)