在Spring Boot中处理HTTP请求【后端 5】
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@RestController
public class MyRestController {
// 获取所有用户
@GetMapping("/users")
public Flux<User> getAllUsers() {
return userService.findAll();
}
// 获取单个用户
@GetMapping("/users/{id}")
public Mono<User> getUserById(@PathVariable("id") String id) {
return userService.findById(id);
}
// 创建新用户
@PostMapping("/users")
public Mono<User> createUser(@RequestBody User user) {
return userService.save(user);
}
// 更新现有用户
@PutMapping("/users/{id}")
public Mono<User> updateUser(@PathVariable("id") String id, @RequestBody User user) {
user.setId(id);
return userService.save(user);
}
// 删除用户
@DeleteMapping("/users/{id}")
public Mono<Void> deleteUser(@PathVariable("id") String id) {
return userService.deleteById(id);
}
}
在这个代码实例中,我们定义了一个REST控制器,它使用Spring WebFlux的注解来处理HTTP请求。我们使用Flux<User>
来响应获取所有用户的请求,使用Mono<User>
来响应获取单个用户、创建用户、更新用户和删除用户的请求。这些方法直接调用了userService
的相应方法,这是一个假设存在的服务组件,负责处理与用户相关的业务逻辑。
评论已关闭