如何向此Spring Boot代码添加新的REST GET操作?

时间:2015-01-30 03:18:35

标签: java spring rest spring-boot

这是一个基本问题,来自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
}

以下是我修改的控制器代码;

@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终极试用版。

1 个答案:

答案 0 :(得分:3)

您需要使用所需路径为测试方法添加@RequestMapping批注。类级别的那个会将/ api / *映射到此控制器,但您必须提供有关何时调用test()与index()的更多信息。它现在的方式,任何" GET"到/ api / * URL将映射到index()。