一、搭建IDEA的Spring Boot的开发环境
在IDEA中进行 Spring Initializr 创建。
软件包命名为:com.example.restservice
二、构建 RESTful Web 服务
2.1 在文件夹中创建 src/main/java/com/example/restservice/Greeting.java
package com.example.restservice;
public class Greeting {
private final long id;
private final String content;
public Greeting(long id, String content) {
this.id = id;
this.content = content;
}
public long getId() {
return id;
}
public String getContent() {
return content;
}
}
2.2 创建资源控制器:
在 Spring boot 中创建 Restful Web 服务,使用控制器来处理 HTTP 请求, 需要用到 @RestController 注解。
在文件夹中创建 src/main/java/com/example/restservice/GreetingController.java
package com.example.restservice;
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController //带有此注释的类型被视为控制器
public class GreetingController { //资源控制器,来处理GET请求:/greeting
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@GetMapping("/greeting")
public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
return new Greeting(counter.incrementAndGet(), String.format(template, name));
}
//方法体的实现创建并返回一个新Greeting对象,对象数据将作为 JSON 直接写入 HTTP 响应。
}
@RestController
(1)带有此注释的类型被视为控制器。
@GetMapping
(1)@GetMapping
注释确保 HTTP GET 请求 /greeting 映射到 greeting()方法。
(2)即,确保访问 /greeting 的 HTTP GET请求 由 greeting() 函数处理。
有其他 HTTP 动词的伴随注释(例如
@PostMappingPOST
)。还有一个@RequestMapping
它们都源自的注释,并且可以用作同义词(例如@RequestMapping(method=GET)
)。
@RequestParam
(1)用于接收 HTTP GET请求 传过来的 name 值,默认值为 “World”。
2.3 IDEA中项目目录结构
三、测试服务
3.1 启动服务;
3.2 访问URL:
(1)http://localhost:8080/greeting
{"id":1,"content":"Hello, World!"}
(2)http://localhost:8080/greeting?name=User
{"id":3,"content":"Hello, User!"}
它将以 JSON 形式进行响应。
四、附加
端口我们也可以自己指定,放到应用配置文件 application.properties 中即可。
# 默认的 8080 修改为 9090
server.port=9090