这是一个基本问题,来自 2 小时前刚刚尝试 Spring Boot 的 Java 新手。
我按照这里的教程进行操作; http://patrickgrimard.com/2014/08/14/how-to-build-a-spring-boot-application-using-intellij-idea/
当我访问http://localhost:8080/api时,我得到以下 json 输出;
{
type: "green",
length: 10,
height: 7
}
我想修改代码,以便当我访问 http://localhost:8080/api/test 时,我将得到以下 json 输出;
{
type: "red",
length: 8,
height: 7
}
以下是我修改的 Controller 代码;
@RequestMapping("/api/**")
@RestController
public class WidgetController {
@RequestMapping(method = RequestMethod.GET, produces = {MediaType.APPLICATION_JSON_VALUE})
public Widget index() {
return new Widget("green", 10, 7);
}
public Widget test() {
return new Widget("red", 8, 7);
}
}
我的代码有什么问题吗?如果这个问题看起来太简单,我深表歉意。如果提供链接,我可以学到足够的知识来回答我自己的问题,这也会很有帮助。对于新手来说,似乎有很多东西需要阅读。
我正在使用 IntelliJ idea Ultimate 试用版。
最佳答案
您需要为您的测试方法添加 @RequestMapping 注释以及所需的路径。类级别的 Controller 会将/api/* 映射到此 Controller ,但您必须为其提供有关何时调用 test() 与 index() 的更多信息。现在的情况是,任何对/api/* URL 的“GET”都会映射到 index()。
关于java - 如何向此 Spring Boot 代码添加新的 REST GET 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28228668/