使用Spring Boot搭建RESTful服务
用STS新建工程【Spring Starter Porject】
注意 Java Version要跟自己的jdk版本一样。名字包可以默认,也可以自己命名。点击下一步,勾选Spring Web。点击【Finish】就可以了。
新建之后,pom.xml文件如果有出错的,那可能是maven的本地仓库里有包对应错误,找出来删除就好。我的处理方式是将本地仓库(repository)中的所有文件全部删除。简单干脆,反正工程自己会下回来。
创建项目之后,STS集成开发工具会在con.demo.spring包下创建一个名为 DemoApplication.java 的入口类。
其中的 @SpringBootApplication是SpringBoot的核心注解,它是一个组合注解。很多Spring Boot开发者总是使用@Configuration,@EnableAutoConfiguration和@ComponentScan在入口上注解,由于这些注解被如此频繁地一起使用,有事Spring Boot官方提供了一个更为方便的@SpringBootApplication注解,将上述集中注解组合在一起。
写内容
Greeting实体类,当用户访问RESTful服务的时候,将会返回实体类信息
package com.demo.spring.bean;
public class Greeting {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Greeting(String message) {
this.message=message;
}
}
控制层IndexController类
@RestController表示当前类为处理器 ,@RequestMapping表示方法为处理器方法,该方法会对value属性所指定的URL进行处理与响应
package com.demo.spring.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.demo.spring.bean.Greeting;
@RestController
public class IndexController {
private static final String PREFIX="Hello %s !";
@RequestMapping("/greet")
public Greeting greeting(@RequestParam(value="name",defaultValue = "Wrold") String name) {
return new Greeting(String.format(PREFIX, name));
}
}
展示效果
最终的项目结构:
网页中 8080是端口号,一般这个是默认的,也有遇到过8088的。关键还要看项目启动之后的提示信息。
路径中的 greet 对应于 @RequestMapping("/greet"),还有一种写法是 @RequestMapping(value="/greet")
至于这个显示效果是因为我在谷歌浏览器里安装了 JSON-handle 这个插件的缘故
- 问号之后的内容不写,则显示 Hello World!
- 加入 ?name= 只有,显示的是Hello拼接上等号之后的内容;如果是空值 依旧就Hello World!