在Spring Boot中设计REST API端点时,需综合考虑RESTful规范、业务需求和技术实现。以下是完整的分析:
/users
)/orders
而非/createOrder
)POST /users/{id}/activate
)/v1/users
Accept: application/vnd.company.v1+json
@RestController
@RequestMapping("/api/v1/users")
public class UserController {
@GetMapping
public List<User> getUsers(@RequestParam(required = false) String role) {
// 查询用户列表
}
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
// 获取单个用户
}
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public User createUser(@RequestBody @Valid User user) {
// 创建用户
}
@PutMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User user) {
// 全量更新
}
@PatchMapping("/{id}/status")
public void updateStatus(@PathVariable Long id, @RequestParam String status) {
// 部分更新状态
}
@DeleteMapping("/{id}")
@ResponseStatus(HttpStatus.NO_CONTENT)
public void deleteUser(@PathVariable Long id) {
// 删除用户
}
}
@Deprecated
标记旧端点最佳实践建议:
通过以上设计可构建出符合REST规范、易于维护且高性能的API端点体系。实际开发中应根据业务复杂度选择适当的技术方案,同时建议结合Swagger UI实现交互式文档。