CourseJavaLearn from zeroHọc miễn phí
← Quay về khóa học

Backend thực chiến

Spring Boot REST API từ nền tảng Java Core

Học cách xây backend Java theo mô hình controller, service, repository, kết nối database, validation và xử lý lỗi.

Sau khóa học, bạn có thể tạo REST API cho một ứng dụng học online nhỏ và chuẩn bị ghép với frontend Next.js.

Phù hợp với

  • Người muốn chuyển từ Java Core sang backend web
  • Người muốn hiểu REST API và mô hình backend thực tế
  • Người chuẩn bị làm project full-stack Java + Next.js

Cần chuẩn bị

  • Đã học Java Core, OOP, Collections và Exception cơ bản
  • Biết SQL cơ bản: table, row, primary key, foreign key
  • Biết dùng Postman hoặc công cụ gọi API tương tự

Kết quả đạt được

  • Tạo REST API theo mô hình layer rõ ràng
  • Kết nối database, validate request và xử lý lỗi
  • Hoàn thiện backend course platform ở mức nhập môn

Study method

Cách học để không bị ngợp.

Mỗi khóa được thiết kế theo nhịp: hiểu khái niệm, làm bài tập nhỏ, áp dụng vào project và review lại bằng checklist.

Step 01

Mỗi endpoint phải test bằng Postman trước khi qua bài tiếp theo

Step 02

Luôn tách Controller, Service, Repository để giữ code dễ đọc

Step 03

Viết request/response mẫu vào README ngay khi hoàn thành endpoint

Step 04

Refactor DTO, exception và validation sau mỗi module

Syllabus chi tiết

Module, mục tiêu và bài tập sau từng bài.

Lesson nào cũng có mục tiêu học và bài thực hành cụ thể để người mới biết mình cần làm gì sau khi xem tài liệu.

01

Spring Boot nhập môn

4 bài học

Hiểu Spring Boot giải quyết vấn đề gì, cấu trúc project và cách tạo API đầu tiên.

  1. 01

    Create Spring Boot project

    Mục tiêu: Tạo project với Spring Web, Validation và Lombok/JPA khi cần.

    Bài tập: Tạo API GET /health trả về trạng thái ứng dụng.

  2. 02

    Controller and routing

    Mục tiêu: Hiểu @RestController, @RequestMapping và HTTP method.

    Bài tập: Tạo CourseController với GET /courses.

  3. 03

    Request and response

    Mục tiêu: Nhận path variable, query param, request body và trả JSON.

    Bài tập: Tạo endpoint tìm khóa học theo slug.

  4. 04

    Layered architecture

    Mục tiêu: Tách controller, service, repository để code rõ trách nhiệm.

    Bài tập: Refactor CourseController dùng CourseService.

02

Database và JPA

4 bài học

Kết nối database, thiết kế entity và thao tác CRUD với Spring Data JPA.

  1. 01

    Entity and table mapping

    Mục tiêu: Map class Java với bảng database bằng annotation cơ bản.

    Bài tập: Tạo CourseEntity gồm id, slug, title, level, status.

  2. 02

    Repository

    Mục tiêu: Dùng JpaRepository để truy vấn dữ liệu.

    Bài tập: Tạo findBySlug và findByStatus.

  3. 03

    CRUD endpoints

    Mục tiêu: Tạo API create, update, delete, get detail.

    Bài tập: Hoàn thiện CRUD cho courses.

  4. 04

    Relationships

    Mục tiêu: Hiểu quan hệ Course - Lesson và cách tránh trả dữ liệu vòng lặp.

    Bài tập: Tạo lesson thuộc course và endpoint lấy syllabus.

03

Validation, error handling và API quality

4 bài học

Làm API dễ dùng hơn bằng DTO, validate input, exception handler và response nhất quán.

  1. 01

    DTO design

    Mục tiêu: Tách request/response DTO khỏi entity.

    Bài tập: Tạo CreateCourseRequest và CourseResponse.

  2. 02

    Validation

    Mục tiêu: Dùng @NotBlank, @Size, @Email và trả lỗi dễ hiểu.

    Bài tập: Validate title, slug và description khi tạo course.

  3. 03

    Global exception handling

    Mục tiêu: Chuẩn hóa lỗi 400, 404, 500.

    Bài tập: Tạo ResourceNotFoundException và ErrorResponse.

  4. 04

    API documentation

    Mục tiêu: Viết README endpoint rõ request/response mẫu.

    Bài tập: Tạo bảng endpoint cho Course API.

04

Auth nhập môn và tích hợp frontend

4 bài học

Làm quen authentication ở mức nền tảng và chuẩn bị API cho frontend dùng thật.

  1. 01

    Basic auth flow

    Mục tiêu: Hiểu login, token, role và protected route ở mức khái niệm.

    Bài tập: Vẽ flow login cho học viên và admin.

  2. 02

    CORS and frontend integration

    Mục tiêu: Cho phép frontend gọi API đúng origin.

    Bài tập: Cấu hình CORS cho localhost Next.js.

  3. 03

    Pagination and search

    Mục tiêu: Trả danh sách có page, size, keyword.

    Bài tập: Thêm search courses theo keyword.

  4. 04

    Deploy preparation

    Mục tiêu: Chuẩn bị env, profile và database config cho deploy.

    Bài tập: Tạo application-dev và application-prod mẫu.

Project cuối khóa

Course Platform REST API

Backend quản lý khóa học, bài học, học viên và tiến độ học tập ở mức nhập môn.

Yêu cầu sản phẩm

  • Course CRUD, lesson list và course detail by slug
  • Validate request và global error response
  • Database có quan hệ Course - Lesson
  • README có endpoint, request/response mẫu và cách chạy local

Tiêu chí đạt

  • Controller không chứa business logic dài
  • DTO không leak entity không cần thiết
  • Status code đúng cho success/error
  • API có thể được gọi từ frontend Next.js

Tài liệu học tập

Checklist, bài tập và tài liệu đi kèm.

Các tài liệu này giúp người học tự kiểm tra, luyện tập và hoàn thiện project theo chuẩn dễ theo dõi.

Checklist

REST API design checklist

Checklist đặt route, status code, DTO và error response.

Project

Spring Boot project skeleton

Cấu trúc package controller/service/repository/dto/exception.

Practice

Postman testing routine

Quy trình test API sau mỗi endpoint.

Next steps

Học xong nên làm gì tiếp?

Đừng học rời rạc. Mỗi khóa đều dẫn sang kỹ năng hoặc project kế tiếp trong lộ trình full-stack.

1

Ghép API với frontend Next.js Course Platform

2

Học authentication/JWT kỹ hơn

3

Bổ sung test service và integration test cho endpoint quan trọng

Cần gì thì gọi Nghĩa
Mascot