使用Spring Boot构建RESTful API
以下是一个简单的Spring Boot RESTful API的示例代码,它定义了一个简单的资源User
,并提供了基本的CRUD操作。
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.ArrayList;
@RestController
@RequestMapping("/api/users")
public class UserController {
private static final List<User> users = new ArrayList<>();
static {
users.add(new User(1, "Alice"));
users.add(new User(2, "Bob"));
}
@GetMapping
public List<User> getAllUsers() {
return users;
}
@GetMapping("/{id}")
public User getUserById(@PathVariable int id) {
return users.stream().filter(user -> user.getId() == id).findFirst().orElse(null);
}
@PostMapping
public User createUser(@RequestBody User user) {
user.setId(users.size() + 1);
users.add(user);
return user;
}
@PutMapping("/{id}")
public User updateUser(@PathVariable int id, @RequestBody User user) {
int index = getIndex(id);
if (index == -1) {
return null;
}
user.setId(id);
users.set(index, user);
return user;
}
@DeleteMapping("/{id}")
public String deleteUser(@PathVariable int id) {
int index = getIndex(id);
if (index == -1) {
return "User not found";
}
users.remove(index);
return "User deleted";
}
private int getIndex(int id) {
return (int) users.stream().filter(user -> user.getId() == id).count();
}
}
class User {
private int id;
private String name;
// Constructors, getters and setters
public User() {}
public User(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
这段代码提供了创建、读取、更新和删除用户的基本操作。它使用了Spring Boot的@RestController
注解,这意味着控制器中的每个方法返回的数据都会自动序列化成JSON格式。同时,它使用了@RequestMapping
来映射URL路径到控制器方法,并使用@GetMapping
、@PostMapping
、@PutMapping
和@DeleteMapping
注解来处理不同的HTTP请求方法。这是一个简洁且易于理解的Spring Boot RESTful API示例。
评论已关闭