
使用NestJS和Prisma構建REST API:身份驗證
public class ApiResponse<T> {
private boolean success;
private T data;
private String message;
// 構造器和getter/setter省略
public static <T> ApiResponse<T> success(T data) {
ApiResponse<T> response = new ApiResponse<>();
response.setSuccess(true);
response.setData(data);
return response;
}
public static <T> ApiResponse<T> error(String message) {
ApiResponse<T> response = new ApiResponse<>();
response.setSuccess(false);
response.setMessage(message);
return response;
}
}
@RestController
@RequestMapping("/api/v1/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public ApiResponse<User> getUser(@PathVariable Long id) {
try {
User user = userService.getUserById(id);
return ApiResponse.success(user);
} catch (UserNotFoundException e) {
return ApiResponse.error("用戶不存在");
}
}
@PostMapping
public ApiResponse<User> createUser(@RequestBody @Valid User user) {
try {
User createdUser = userService.createUser(user);
return ApiResponse.success(createdUser);
} catch (Exception e) {
return ApiResponse.error("創建用戶失敗:" + e.getMessage());
}
}
}
創建一個簡單的圖書管理 API,要求:
// 這是一個基礎的示例框架
@RestController
@RequestMapping("/api/v1/books")
public class BookController {
@GetMapping
public ApiResponse<Page<Book>> getBooks(
@RequestParam(defaultValue = "0") int page,
@RequestParam(defaultValue = "10") int size) {
// 實現分頁查詢
return null; // 你來實現具體邏輯
}
// 添加其他CRUD操作...
}
小伙伴們,今天的 java 學習之旅就到這里啦!記得動手敲代碼,有問題隨時在評論區問凱哥哦。祝大家學習愉快,java 學習節節高!
本文章轉載微信公眾號@凱伊