SBA301DễKỳ 7Chuyên ngành Cập nhật 04/08/2026

Tích hợp ứng dụng trang đơn với Spring Boot - Integrate single page application with Spring Boot

SBA301 - Phát triển ứng dụng trang đơn (Single Page Application) dạy cách dựng một ứng dụng web có hai nửa ghép lại: ReactJS chạy trong trình duyệt và dịch vụ REST viết bằng Spring Boot chạy trên máy chủ. Câu hỏi xuyên suốt là ranh giới giữa hai nửa đó nằm ở đâu, dữ liệu đi qua lại thế nào và ai chịu trách nhiệm phần nào. Nửa trình duyệt bắt đầu từ JSX cùng cách chia giao diện thành component, rồi tới trạng thái: React Hooks với useState, useEffect, useMemo, useCallback, các ràng buộc của Rules of Hooks, và lối giữ state ở component hàm đặt cạnh lối cũ ở component lớp. Bộ component dựng sẵn React-Bootstrap lo phần trình bày. Việc chuyển trang không còn do máy chủ đảm nhận mà do định tuyến phía client với React Router v6, kèm tham số đường dẫn đọc bằng useParams và trang 404 bắt ở cuối bảng route. Để lấy dữ liệu, môn đi qua nền bất đồng bộ của JavaScript gồm Promise và async/await, rồi tới thư viện Axios cho các lời gọi thực tế. Nửa máy chủ mở bằng nền tảng HTTP và nguyên tắc của một REST API, sau đó dựng dịch vụ bằng Spring Boot với các chú giải ánh xạ yêu cầu như RequestBody, PathVariable, RequestParam, cách đặt mã trạng thái và thân phản hồi. Tài liệu cho dịch vụ được sinh sống bằng OpenAPI và Swagger, còn phần kiểm thử dùng bộ khởi tạo spring-boot-starter-test để chạy thử cả tầng web lẫn toàn bộ ứng dụng. Tầng dữ liệu có hai nhánh. Nhánh quan hệ dùng JPA và Hibernate với ánh xạ đối tượng sang bảng, Session và Transaction, khoá lạc quan chống xung đột khi ghi đồng thời, phân trang cùng lựa chọn Slice khi không cần đếm toàn bộ bản ghi, và hbm2ddl sinh lược đồ. Nhánh tài liệu dùng MongoDB với lược đồ linh hoạt, Spring Data MongoDB, MongoTemplate cho truy vấn phức tạp và dịch vụ đám mây MongoDB Atlas. Khép môn là bảo mật với Spring Security, từ xác thực cơ bản và phiên làm việc tới token JWT cho dịch vụ phi trạng thái. Học xong, người học dựng được trọn một ứng dụng trang đơn có đăng nhập, gọi dịch vụ REST, lưu dữ liệu ở cả cơ sở dữ liệu quan hệ lẫn cơ sở dữ liệu tài liệu, và có tài liệu mô tả giao diện lập trình kèm theo.

171Câu hỏi
2Bộ đề
11Chủ đề

Câu hỏi của môn

171/171 câuHết danh sách
AMongoTemplate
BMongoExecutor
CJdbcTemplate
DMongoManager
Lời giải
Khi sử dụng MongoRepository, bạn có thể thực hiện các hoạt động CRUD cơ bản. Tuy nhiên, để có thể thực hiện các truy vấn phức tạp và các hoạt động khác đối với MongoDB, bạn cần sử dụng một lớp cung cấp sự kiểm soát chi tiết hơn. Trong Spring Data MongoDB, lớp cung cấp sự kiểm soát chi tiết hơn này là MongoTemplate.
Mở trang câu hỏi này →
166In which file format can Swagger 3 (OpenAPI 3) specifications be written?4 lựa chọnDễ75% trả lời đúng
AXML
BJSON or YAML
CHTML
DCSV
Lời giải
Swagger 3 (OpenAPI 3) là một tiêu chuẩn mở cho việc mô tả API. Để viết các đặc tả này, chúng ta có thể sử dụng hai định dạng file là JSON và YAML. JSON (JavaScript Object Notation) là một định dạng file phổ biến được sử dụng để lưu trữ và truyền tải dữ liệu. YAML (YAML Ain't Markup Language) là một định dạng file khác được sử dụng để lưu trữ và truyền tải dữ liệu. Cả hai định dạng file này đều có thể được sử dụng để viết các đặc tả Swagger 3. XML và CSV không phải là định dạng file được hỗ trợ bởi Swagger 3. HTML cũng không phải là định dạng file được hỗ trợ bởi Swagger 3. Vì vậy, đáp án đúng cho câu hỏi này là JSON hoặc YAML.
Mở trang câu hỏi này →
A@Description
B@RequestMapping
C@Operation
D@EndpointDes
Lời giải
Để cung cấp một tóm tắt và mô tả cho một điểm cuối API cụ thể hoặc phương thức trong một controller, bạn cần sử dụng annotation @Operation. Annotation này được sử dụng để mô tả chi tiết về một phương thức hoặc điểm cuối API, bao gồm cả tên phương thức, mô tả phương thức, tham số đầu vào và đầu ra, v.v. Điều này giúp cho việc sử dụng và hiểu rõ về API trở nên dễ dàng hơn.
Mở trang câu hỏi này →
Aspringfox-boot-starter
Bspringdoc-openapi-starter-webmvc-ui
Cswagger-core-jakarta
Dspring-boot-starter-docs
Lời giải
Để tích hợp Swagger 3 với ứng dụng Spring Boot 3, bạn cần thêm một số dependency vào file pom.xml hoặc build.gradle của dự án. Trong đó, dependency được sử dụng phổ biến nhất là springdoc-openapi-starter-webmvc-ui. Đây là một library được thiết kế để hỗ trợ việc tạo và quản lý API bằng cách sử dụng OpenAPI Specification. Nó cho phép bạn tạo và cấu hình API một cách dễ dàng, đồng thời cũng cung cấp các tính năng như tạo tài liệu API, tạo giao diện người dùng để tương tác với API, v.v. Ngoài ra, springdoc-openapi-starter-webmvc-ui cũng hỗ trợ các tính năng như tạo API theo tiêu chuẩn OpenAPI 3.0, tạo tài liệu API bằng cách sử dụng Markdown, v.v. Vì vậy, nếu bạn đang tìm kiếm một library để tích hợp Swagger 3 với ứng dụng Spring Boot 3, thì springdoc-openapi-starter-webmvc-ui là một lựa chọn tuyệt vời.
Mở trang câu hỏi này →
169How are credentials transmitted in HTTP Basic authentication?4 lựa chọnDễ100% trả lời đúng
AEncrypted using a server-side public key.
BSent in plain text in the request body.
CBase64-encoded and sent in the Authorization header.
DHashed using a nonce and a server-side secret.
Lời giải
Trong HTTP Basic authentication, thông tin xác thực được truyền đi dưới dạng mã hóa Base64 và được gửi trong tiêu đề Authorization. Điều này có nghĩa là thông tin xác thực được mã hóa bằng một thuật toán mã hóa Base64, sau đó được gửi đến server trong tiêu đề Authorization. Server sẽ nhận được thông tin này và giải mã nó để xác thực người dùng. Việc truyền thông tin xác thực dưới dạng mã hóa Base64 giúp bảo vệ thông tin khỏi bị đọc hoặc truy cập trái phép trong quá trình truyền đi.
Mở trang câu hỏi này →
170Where is the session ID typically stored in Session-Based Security?4 lựa chọnTrung bình60% trả lời đúng
AIn the request header.
BIn the request body.
CIn a cookie or URL.
DIn the server's database.
Lời giải
Trong bảo mật dựa trên phiên (Session-Based Security), ID phiên thường được lưu trữ ở đâu? ID phiên là một chuỗi ngẫu nhiên được tạo ra khi người dùng đăng nhập vào hệ thống. Nó được sử dụng để xác thực và theo dõi hoạt động của người dùng trong phiên hiện tại. ID phiên thường được lưu trữ trong một cookie hoặc URL. Cookie là một loại dữ liệu được lưu trữ trên trình duyệt của người dùng, trong khi URL là địa chỉ web được sử dụng để truy cập vào một trang web cụ thể. Khi người dùng đăng nhập vào hệ thống, ID phiên sẽ được lưu trữ trong cookie hoặc URL và được gửi lại cho server mỗi khi người dùng thực hiện một yêu cầu. Điều này cho phép server xác thực và theo dõi hoạt động của người dùng một cách hiệu quả.
Mở trang câu hỏi này →
171Which authentication method sends credentials with every request in RESTful APIs?4 lựa chọnTrung bình57% trả lời đúng
ASession-based authentication
BToken-based authentication (JWT)
COAuth 2.0
DBasic Authentication
Lời giải
Trong RESTful APIs, phương thức xác thực gửi thông tin xác thực với mỗi yêu cầu là Basic Authentication. Phương thức này gửi thông tin xác thực của người dùng, bao gồm tên người dùng và mật khẩu, trong mỗi yêu cầu HTTP. Điều này có thể không an toàn vì thông tin xác thực được gửi qua đường truyền không bảo mật. Token-based authentication (JWT) và OAuth 2.0 cũng là các phương thức xác thực phổ biến trong RESTful APIs, nhưng chúng không gửi thông tin xác thực với mỗi yêu cầu. Thay vào đó, chúng sử dụng token hoặc mã xác thực để xác thực người dùng.
Mở trang câu hỏi này →