Request & Response

Bind request (path/query/body/header), ArgumentResolver mechanism, ResponseEntity + HTTP status, và response nâng cao (streaming, HATEOAS).

6 bài · ~59 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Request & Response — tổng quan

    Module này mổ 2 chiều của HTTP: bind dữ liệu request vào method param, và dựng response (status, header, body, streaming).

    ~4 phút
  2. 02

    Request Binding — @PathVariable, @RequestParam, @RequestBody và cơ chế bên dưới

    Bài này bóc đúng một thứ: 6 nguồn dữ liệu trong HTTP request, 6 annotation Spring tương ứng, và cơ chế HttpMessageConverter + HandlerMethodArgumentResolver biến chúng thành object Java. Tại sao mỗi annotation tồn tại, tại sao @RequestBody cần Jackson, và tại sao quên @Valid là lỗi thầm lặng.

    ~12 phút
  3. 03

    ArgumentResolver — chuỗi resolver, type conversion, custom annotation

    Spring MVC resolve từng parameter method controller qua chuỗi HandlerMethodArgumentResolver. Bài này bóc cơ chế supportsParameter/resolveArgument, ConversionService cho type conversion (String→int, String→LocalDate, String→Enum), và cách tự viết custom resolver cho annotation @CurrentUser — giải thích tại sao thiết kế này mở rộng được và pitfall mass assignment.

    ~13 phút
  4. 04

    ResponseEntity & HTTP status — trả response đúng ngữ nghĩa REST

    Ba cách trả response trong Spring MVC, ngữ nghĩa 5 nhóm status code HTTP (2xx/3xx/4xx/5xx), ResponseEntity builder pattern, và cơ chế HttpMessageConverter chuyển Java object thành JSON byte. Tại sao status code không phải decoration mà là REST contract.

    ~12 phút
  5. 05

    Response nâng cao — Streaming, ResponseBodyAdvice, HATEOAS, Production

    Bài này bóc 4 kỹ thuật response nâng cao: StreamingResponseBody + SSE (stream không load hết memory), ResponseBodyAdvice (wrap đồng nhất global), HATEOAS link relations (discoverability), và production headers (caching ETag, gzip, security headers). Mỗi kỹ thuật giải thích cơ chế bên dưới và trade-off khi nào nên dùng.

    ~14 phút
  6. 06

    Request & Response — tổng kết

    Tóm tắt Request & Response.

    ~4 phút