Spring REST API & Data JPA
Course tier 2 track Spring. Sau khi nắm container ở Spring Core, dùng Spring MVC build REST API (binding, validation, Problem Details RFC 9457, OpenAPI) và Spring Data JPA cho tầng dữ liệu (entity mapping, relationships, transaction, tránh N+1, Flyway, pagination).
Giảng viên
OLHub Team46 bài đã sẵn sàng · Đọc kỹ, không xem video
7 module
Học theo từng phần, không bị nhồi
Trung cấp
Cần nền tảng cơ bản trước
46 bài
Text-first — đọc kỹ, không xem video
~8.6 giờ
Tự nhịp, học theo tốc độ của bạn
Bạn sẽ học được gì
Sau khoá học, bạn sẽ:
Design REST API tuân OpenAPI 3.1, status code đúng ngữ nghĩa, error format RFC 9457
Implement request binding + Jakarta Validation + @ControllerAdvice exception handling
Diagnose N+1 query và fix bằng fetch join / EntityGraph / DTO projection
Explain @Transactional propagation, rollback rule, AOP proxy self-call bypass
Implement Flyway migration versioning + pagination/sorting (OFFSET vs keyset)
Chương trình
Nội dung khoá học
7 module sẵn sàng · 46 bài. Mỗi bài 18-25 phút đọc kỹ — không xem video, không hype.
01
Spring MVC Core
6 bài · ~59 phút
- 01Spring MVC Core — tổng quan4p
- 02DispatcherServlet Spring MVC — Front Controller12p
- 03URL Routing Pipeline — HandlerMapping, HandlerAdapter, và PathPattern14p
- 04@RestController & Request Mapping — controller annotation-driven12p
- 05Content Negotiation, API Versioning, và CORS — Spring MVC routing nâng cao13p
- 06Spring MVC Core — tổng kết4p
02
Request & Response
6 bài · ~59 phút
- 01Request & Response — tổng quan4p
- 02Request Binding — @PathVariable, @RequestParam, @RequestBody và cơ chế bên dưới12p
- 03ArgumentResolver — chuỗi resolver, type conversion, custom annotation13p
- 04ResponseEntity & HTTP status — trả response đúng ngữ nghĩa REST12p
- 05Response nâng cao — Streaming, ResponseBodyAdvice, HATEOAS, Production14p
- 06Request & Response — tổng kết4p
03
Error, Validation & API Docs
9 bài · ~120 phút
- 01Error, Validation & API Docs — tổng quan4p
- 02@RestControllerAdvice — tập trung xử lý exception cho toàn REST API14p
- 03Problem Details RFC 9457 — error response chuẩn hoá12p
- 04Jakarta Bean Validation & @Valid — declarative constraint trên DTO12p
- 05Validation nâng cao — Groups, Custom Constraint, i18n, Service Layer13p
- 06OpenAPI & springdoc-openapi — auto-generate API doc từ controller12p
- 07OpenAPI nâng cao — security scheme, GroupedOpenApi, ẩn endpoint, production deploy, API-first14p
- 08Mini-challenge: TaskFlow REST API v1 — capstone phần REST API35p
- 09Error, Validation & API Docs — tổng kết4p
04
JPA Fundamentals
7 bài · ~69 phút
- 01JPA Fundamentals — tổng quan4p
- 02ORM & Impedance Mismatch — tại sao ánh xạ object sang table không bao giờ hoàn hảo12p
- 03EntityManager, JPQL & Spring Data — từ boilerplate tới interface thuần túy12p
- 04@Entity & @Id — yêu cầu POJO và chiến lược sinh ID13p
- 05@Column, @Enumerated và @Embeddable — tinh chỉnh cột, ánh xạ enum, value object inline12p
- 06Entity lifecycle & equals/hashCode — @PrePersist, @PostLoad, và pitfall Lombok @Data12p
- 07JPA Fundamentals — tổng kết4p
05
Repository & Queries
7 bài · ~69 phút
- 01Repository & Queries — tổng quan4p
- 02JpaRepository & Derived Queries — zero-code query từ tên method12p
- 03@Query, @Modifying và Projection — viết query tuỳ chỉnh và trả về đúng shape12p
- 04Specification & JPA Auditing — dynamic filter và timestamp tự động12p
- 05Pageable & Sort — phân trang, sắp xếp, validate, projection DTO13p
- 06Pagination performance — OFFSET vs keyset, Slice bỏ COUNT12p
- 07Repository & Queries — tổng kết4p
06
Relationships & Transactions
6 bài · ~61 phút
- 01Relationships & Transactions — tổng quan4p
- 02Associations & Fetch Type — @OneToMany, @ManyToOne, LAZY/EAGER, LazyInitializationException14p
- 03Cascade & N+1 — propagation, orphanRemoval và bug hiệu năng nguy hiểm nhất JPA14p
- 04@Transactional & AOP proxy — cơ chế begin/commit/rollback bên dưới12p
- 05Propagation, Isolation & readOnly — kiểm soát transaction boundary13p
- 06Relationships & Transactions — tổng kết4p
07
Migration & Capstone
5 bài · ~76 phút
Giảng viên
Ai đứng sau khoá này
OLHub Team
Backend engineers
Backend engineers với kinh nghiệm thực tế trên Java/Spring, PostgreSQL, distributed systems. Tự build và maintain platform này, viết toàn bộ nội dung khoá học theo triết lý “hiểu bản chất, không học vẹt”.
Xem hồ sơ team →Gửi khoá này cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Sẵn sàng bắt đầu?
Học miễn phí, không cần thẻ, không thời hạn. Chỉ cần bạn ngồi xuống đọc kỹ.