Tất cả câu hỏi

Ngân hàng câu hỏi trắc nghiệm có đáp án và giải thích chi tiết.

Bấm vào từng câu để xem đáp án
#361
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo map embedded documents
BTo index a document
To define a relationship between documents via referenceĐÚNG
DTo ignore the field during persistence
Giải thích

Trong Spring Data MongoDB, @DBRef là một annotation được sử dụng để định nghĩa mối quan hệ giữa các tài liệu MongoDB thông qua tham chiếu. Khi sử dụng @DBRef, bạn có thể định nghĩa một tài liệu tham chiếu đến một tài liệu khác trong cùng một cơ sở dữ liệu. Điều này cho phép bạn thực hiện các truy vấn phức tạp và quản lý mối quan hệ giữa các tài liệu một cách hiệu quả. Ví dụ, nếu bạn có một tài liệu người dùng và một tài liệu thông tin liên hệ, bạn có thể sử dụng @DBRef để định nghĩa mối quan hệ giữa hai tài liệu này. Điều này giúp bạn có thể truy vấn thông tin liên hệ của một người dùng một cách dễ dàng.

#362
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A@HeaderParam
@RequestHeaderĐÚNG
C@RequestBody
D@RequestParam
Giải thích

Để gắn giá trị của một tiêu đề tùy chỉnh từ một yêu cầu đến một tham số phương thức, bạn có thể sử dụng annotation @RequestHeader. Annotation này cho phép bạn gắn giá trị của một tiêu đề tùy chỉnh từ yêu cầu HTTP đến một tham số phương thức của phương thức hiện tại. Ví dụ, nếu bạn muốn gắn giá trị của tiêu đề 'Authorization' đến một tham số phương thức 'token', bạn có thể sử dụng @RequestHeader('Authorization') ở trên tham số phương thức 'token'.

#363
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A flexible way to set body, status, and headersĐÚNG
BOnly status codes
CA way to redirect to views
DOnly body
Giải thích

Trong REST controller, ResponseEntity cung cấp một cách linh hoạt để thiết lập cơ thể, trạng thái và tiêu đề của phản hồi. Điều này cho phép bạn có nhiều quyền kiểm soát hơn đối với phản hồi của ứng dụng, bao gồm cả việc thiết lập trạng thái HTTP cụ thể, thêm tiêu đề tùy chỉnh và thiết lập cơ thể phản hồi theo cách mong muốn. Điều này đặc biệt hữu ích khi bạn cần trả về một phản hồi phức tạp hoặc cần thiết lập trạng thái HTTP cụ thể để thông báo cho khách hàng về kết quả của yêu cầu.

#364
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AIt forces methods to return HTML views
It applies @ResponseBody to all methods by defaultĐÚNG
CIt disables automatic serialization
DIt disables exception handling
Giải thích

Khi sử dụng @RestController thay vì @Controller, bạn sẽ thấy một số thay đổi quan trọng. @RestController là một annotation đặc biệt trong Spring MVC, được thiết kế để tạo ra các RESTful API. Nó có tác dụng tự động áp dụng @ResponseBody cho tất cả các phương thức trong lớp, điều này có nghĩa là bất kỳ phương thức nào cũng sẽ trả về dữ liệu JSON hoặc XML theo mặc định. Điều này giúp giảm thiểu sự phức tạp khi tạo ra các API RESTful, vì bạn không cần phải thêm @ResponseBody vào từng phương thức. Ngoài ra, @RestController cũng tự động áp dụng các quy tắc về dữ liệu trả về, giúp đảm bảo rằng dữ liệu được trả về đúng định dạng và cấu trúc.

#365
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A@JsonRequest
@PostMapping with @RequestBody and @ResponseBodyĐÚNG
C@Consumes and @Produces
D@RequestBody
Giải thích

Để định nghĩa một phương thức xử lý cả hai định dạng yêu cầu và phản hồi JSON, chúng ta cần sử dụng các annotation @PostMapping, @RequestBody và @ResponseBody. @PostMapping được sử dụng để chỉ định phương thức HTTP được sử dụng để gửi yêu cầu đến server. @RequestBody được sử dụng để ánh xạ dữ liệu từ yêu cầu HTTP sang một đối tượng Java. @ResponseBody được sử dụng để ánh xạ một đối tượng Java sang dữ liệu HTTP. Ví dụ, nếu chúng ta muốn tạo một phương thức xử lý yêu cầu và phản hồi JSON, chúng ta có thể sử dụng các annotation như sau: @PostMapping(value = "/example", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<String> example(@RequestBody String request) { // Xử lý yêu cầu và trả về phản hồi return ResponseEntity.ok("Phản hồi từ server"); } Bằng cách sử dụng các annotation này, chúng ta có thể định nghĩa một phương thức xử lý cả hai định dạng yêu cầu và phản hồi JSON.

#366
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A@RequestMapping(produces = "application/xml")
B@GetMapping(consumes = "application/json")
C@PostMapping(produces = "application/json")
@PostMapping(consumes = "application/xml")ĐÚNG
Giải thích

Để tạo một điểm cuối REST chỉ chấp nhận dữ liệu XML, bạn cần sử dụng annotation @PostMapping với thuộc tính consumes được đặt thành "application/xml". Điều này cho phép Spring MVC chỉ chấp nhận yêu cầu HTTP POST có nội dung dạng XML. Ví dụ, nếu bạn muốn tạo một điểm cuối REST để tạo mới một tài nguyên, bạn có thể sử dụng annotation @PostMapping với consumes được đặt thành "application/xml" như sau: @PostMapping(consumes = "application/xml") public ResponseEntity<Resource> createResource(@RequestBody Resource resource) { ... } Trong ví dụ trên, điểm cuối REST sẽ chỉ chấp nhận yêu cầu HTTP POST có nội dung dạng XML, và sẽ sử dụng phương thức createResource để xử lý yêu cầu đó.

#367
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Maps the request body to a Java objectĐÚNG
BBinds a query parameter to a method
CInjects beans into controller
DValidates request parameters
Giải thích

Annotation @RequestBody được sử dụng để ánh xạ cơ thể yêu cầu (request body) sang một đối tượng Java. Điều này cho phép bạn nhận dữ liệu từ cơ thể yêu cầu và ánh xạ nó sang một đối tượng Java, sau đó sử dụng đối tượng này trong phương thức của controller. Ví dụ, nếu bạn có một phương thức controller với một đối tượng Java như là tham số, annotation @RequestBody sẽ ánh xạ dữ liệu từ cơ thể yêu cầu sang đối tượng đó. Điều này giúp bạn dễ dàng xử lý dữ liệu từ cơ thể yêu cầu và sử dụng nó trong ứng dụng của mình.

#368
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
@PostMapping and @RequestBodyĐÚNG
B@GetMapping and @PathVariable
C@PostMapping and @RequestParam
D@PostMapping and @ResponseBody
Giải thích

Để xác định một phương thức xử lý yêu cầu POST và chấp nhận cơ thể yêu cầu, bạn cần sử dụng hai annotation đặc biệt trong Spring MVC. Đầu tiên, bạn cần sử dụng @PostMapping để chỉ định phương thức xử lý yêu cầu POST. Thứ hai, bạn cần sử dụng @RequestBody để chỉ định rằng phương thức này sẽ chấp nhận cơ thể yêu cầu được gửi đi. Điều này cho phép bạn truy cập vào dữ liệu được gửi đi trong cơ thể yêu cầu. Ví dụ, nếu bạn muốn tạo một phương thức xử lý yêu cầu POST để tạo một tài khoản mới, bạn có thể sử dụng @PostMapping và @RequestBody như sau: @PostMapping("/taikhoan") public ResponseEntity<TaiKhoan> taoTaiKhoan(@RequestBody TaiKhoan taiKhoan) { // Xử lý tạo tài khoản } Trong ví dụ trên, @PostMapping chỉ định phương thức xử lý yêu cầu POST, và @RequestBody chỉ định rằng phương thức này sẽ chấp nhận cơ thể yêu cầu được gửi đi.

#369
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A@RestStatus
B@StatusCode
@ResponseStatusĐÚNG
D@HttpStatus
Giải thích

Để trả về một trạng thái HTTP cụ thể từ một phương thức, bạn cần sử dụng một trong các chú thích sau. Trong đó, chú thích @ResponseStatus là lựa chọn chính xác.

#370
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ATo render HTML content
To provide data through JSON or XML over HTTPĐÚNG
CTo connect to a database
DTo secure the application with OAuth2
Giải thích

Mục đích chính của một dịch vụ web RESTful trong Spring Boot là cung cấp dữ liệu thông qua JSON hoặc XML qua HTTP. Dịch vụ web RESTful sử dụng các phương thức HTTP như GET, POST, PUT, DELETE để tương tác với các nguồn dữ liệu. Khi một yêu cầu HTTP được gửi đến dịch vụ web RESTful, nó sẽ xử lý yêu cầu và trả về dữ liệu phù hợp theo định dạng JSON hoặc XML. Điều này cho phép các ứng dụng khác nhau có thể giao tiếp với dịch vụ web RESTful và sử dụng dữ liệu được cung cấp. Ví dụ, một ứng dụng web có thể sử dụng dịch vụ web RESTful để tải xuống dữ liệu từ một cơ sở dữ liệu và hiển thị dữ liệu đó trên trang web.

#371
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
ABy using HttpServletResponse
BYou cannot control the status code
By using @ResponseStatus annotationĐÚNG
DBy returning an int
Giải thích

Để chỉ định mã trạng thái phản hồi trong một controller REST, bạn có thể sử dụng một trong các phương pháp sau. Phương pháp đầu tiên là sử dụng HttpServletResponse. Tuy nhiên, phương pháp này không được khuyến khích vì nó yêu cầu bạn phải sử dụng phương thức sendError() để chỉ định mã trạng thái. Phương pháp thứ hai là bạn không thể kiểm soát mã trạng thái. Phương pháp thứ ba là sử dụng @ResponseStatus annotation. Đây là phương pháp được khuyến khích nhất vì nó cho phép bạn dễ dàng chỉ định mã trạng thái cho phương thức controller của mình. Phương pháp thứ tư là bằng cách trả về một giá trị int. Tuy nhiên, phương pháp này cũng không được khuyến khích vì nó có thể gây nhầm lẫn và khó bảo trì.

#372
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
A@RequestGet
B@Get
C@HttpGet
@GetMappingĐÚNG
Giải thích

Để ánh xạ các yêu cầu HTTP GET đến một phương thức, chúng ta sử dụng annotation @GetMapping trong Spring. Annotation này cho phép chúng ta định nghĩa một phương thức có thể được gọi khi nhận được yêu cầu GET từ client. Ví dụ, nếu chúng ta có một phương thức như sau: @GetMapping("/users") public List<User> getUsers() { // logic để lấy danh sách người dùng } Thì khi client gửi yêu cầu GET đến đường dẫn /users, phương thức getUsers() sẽ được gọi và trả về danh sách người dùng. Annotation @GetMapping là một trong những annotation quan trọng trong Spring, giúp chúng ta xây dựng các ứng dụng web hiệu quả và dễ dàng quản lý.

#373
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AMaps headers to method parameters
BBinds form data to method parameters
CMaps path variables to fields
Maps query parameters to method parametersĐÚNG
Giải thích

Annotation @RequestParam được sử dụng trong Spring MVC để ánh xạ các tham số truy vấn (query parameters) trong URL đến các tham số phương thức (method parameters) của một phương thức controller. Điều này cho phép bạn dễ dàng lấy giá trị của các tham số truy vấn và sử dụng chúng trong logic của phương thức. Ví dụ, nếu bạn có một phương thức controller như sau: @GetMapping("/users") public String getUsers(@RequestParam("name") String name, @RequestParam("age") int age) { ... } thì @RequestParam("name") và @RequestParam("age") sẽ ánh xạ các tham số truy vấn "name" và "age" trong URL đến các tham số phương thức "name" và "age".

#374
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
axios.get('https://api.example.com/data')ĐÚNG
Baxios.send('GET', 'https://api.example.com/data')
Caxios.fetch('https://api.example.com/data')
Dfetch.axios('https://api.example.com/data')
Giải thích

Để thực hiện một yêu cầu GET sử dụng Axios, bạn cần sử dụng phương thức get() của Axios. Phương thức này chấp nhận một tham số là URL của API mà bạn muốn yêu cầu. Ví dụ, để yêu cầu dữ liệu từ API 'https://api.example.com/data', bạn có thể sử dụng mã sau: axios.get('https://api.example.com/data'). Phương thức này sẽ gửi một yêu cầu GET đến API và trả về dữ liệu trong dạng JSON. Ngoài ra, bạn cũng có thể sử dụng các tham số khác như headers, params để tùy chỉnh yêu cầu của mình. Ví dụ, để thêm một header 'Authorization' với giá trị 'Bearer token', bạn có thể sử dụng mã sau: axios.get('https://api.example.com/data', { headers: { 'Authorization': 'Bearer token' } }).

#375
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
axios.defaults.baseURL = 'https://api.example.com'ĐÚNG
Baxios.configure.baseURL = 'https://api.example.com'
Caxios.setBaseURL('https://api.example.com')
Daxios.baseURL('https://api.example.com')
Giải thích

Để đặt một URL cơ bản mặc định trong Axios, bạn có thể sử dụng thuộc tính `baseURL` của đối tượng `defaults`. Điều này cho phép bạn thiết lập một URL cơ bản mà tất cả các yêu cầu sẽ sử dụng. Ví dụ, nếu bạn muốn đặt URL cơ bản mặc định là `https://api.example.com`, bạn có thể thực hiện như sau: `axios.defaults.baseURL = 'https://api.example.com'`. Điều này sẽ áp dụng cho tất cả các yêu cầu được thực hiện sau đó. Ngoài ra, bạn cũng có thể sử dụng phương thức `defaults` để đặt URL cơ bản mặc định, nhưng cách này không được khuyến khích.

#376
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AUsing .error()
Using .catch()ĐÚNG
CUsing .handle()
DUsing .fail()
Giải thích

Để xử lý lỗi trong một yêu cầu Axios, bạn có thể sử dụng phương thức .catch(). Phương thức này được sử dụng để bắt các lỗi xảy ra trong quá trình thực hiện yêu cầu. Khi sử dụng .catch(), bạn có thể viết mã để xử lý lỗi và đảm bảo rằng ứng dụng của mình vẫn hoạt động bình thường ngay cả khi có lỗi xảy ra. Ví dụ, bạn có thể sử dụng .catch() để hiển thị thông báo lỗi cho người dùng hoặc để thực hiện hành động khác khi có lỗi xảy ra. Ngoài ra, bạn cũng có thể sử dụng phương thức .then() để thực hiện hành động khi yêu cầu được thực hiện thành công.

#377
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AAn XMLHttpRequest object
A PromiseĐÚNG
CA callback function
DA JSON object
Giải thích

Hàm fetch() trong JavaScript trả về một đối tượng Promise. Đối tượng Promise này sẽ được thực hiện khi hàm fetch() được gọi và sẽ trả về một đối tượng Response. Đối tượng Response này chứa dữ liệu được yêu cầu từ server. Đối tượng Promise này cho phép chúng ta sử dụng các phương thức như then(), catch() để xử lý dữ liệu trả về từ server.

#378
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
APOST
GETĐÚNG
CDELETE
DPUT
Giải thích

Khi thực hiện yêu cầu fetch, phương thức HTTP mặc định được sử dụng là GET. Phương thức GET được sử dụng để yêu cầu dữ liệu từ một nguồn, thường được sử dụng để tải xuống dữ liệu từ một URL. Trong trường hợp fetch, phương thức GET được sử dụng mặc định vì nó phù hợp với mục đích của yêu cầu fetch, đó là tải xuống dữ liệu từ một nguồn. Tuy nhiên, người dùng có thể thay đổi phương thức HTTP được sử dụng bằng cách chỉ định phương thức cụ thể trong phương thức fetch.

#379
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
AString
BObject
CArray
PromiseĐÚNG
Giải thích

Khi thực hiện một yêu cầu bằng Axios, kết quả trả về sẽ là một đối tượng Promise. Đối tượng Promise là một loại đối tượng trong JavaScript được sử dụng để xử lý các tác vụ bất đồng bộ. Nó cho phép bạn thực hiện các tác vụ như gửi yêu cầu HTTP, đọc dữ liệu từ cơ sở dữ liệu, v.v. mà không phải chờ đợi kết quả. Khi tác vụ được thực hiện xong, đối tượng Promise sẽ được giải phóng và trả về kết quả. Trong trường hợp của Axios, đối tượng Promise sẽ được trả về sau khi gửi yêu cầu HTTP thành công. Bạn có thể sử dụng phương thức then() hoặc async/await để lấy kết quả từ đối tượng Promise này.

#380
ĐỘ CHÍNH XÁC
4 LỰA CHỌN
Aaxios.write('url', data)
Baxios.sendPost('url', data)
axios.post('url', data)ĐÚNG
Daxios.get('url', data)
Giải thích

Để gửi dữ liệu POST bằng Axios, bạn cần sử dụng phương thức post(). Phương thức này yêu cầu hai tham số: URL và dữ liệu cần gửi. Dữ liệu có thể là một đối tượng JSON hoặc một chuỗi. Ví dụ, bạn có thể sử dụng phương thức post() như sau: axios.post('url', dữ liệu). Phương thức này sẽ gửi một yêu cầu POST đến URL chỉ định với dữ liệu được gửi kèm theo. Ngoài ra, bạn cũng có thể sử dụng phương thức post() để gửi dữ liệu POST với các tùy chọn khác nhau, chẳng hạn như headers, params, hoặc data.