Spring MVC Basics
Spring MVC, สถาปัตยกรรม MVC, DispatcherServlet, @Controller, ViewResolver, รูปแบบ Model-View-Controller
1Annotation ใดที่เปลี่ยนคลาส Java ให้เป็น controller ของ Spring MVC?
Annotation ใดที่เปลี่ยนคลาส Java ให้เป็น controller ของ Spring MVC?
คำตอบ
@Controller ทำเครื่องหมายคลาสให้เป็น controller ของ Spring MVC ที่จัดการคำขอ HTTP มันเป็นความเชี่ยวชาญเฉพาะของ @Component และช่วยให้ component scanning ตรวจพบ controller โดยอัตโนมัติ @RestController รวม @Controller และ @ResponseBody เข้าด้วยกันสำหรับ REST API ในขณะที่ @RequestMapping กำหนดการแมป URL แต่ไม่ได้ประกาศ controller ด้วยตัวมันเอง
2ความแตกต่างหลักระหว่าง @Controller และ @RestController คืออะไร?
ความแตกต่างหลักระหว่าง @Controller และ @RestController คืออะไร?
คำตอบ
@RestController รวม @Controller และ @ResponseBody เข้าด้วยกัน หมายความว่าทุกเมธอดจะคืนค่าข้อมูลที่ถูก serialize (JSON/XML) โดยอัตโนมัติแทนชื่อ view ด้วย @Controller คุณต้องเพิ่ม @ResponseBody ในแต่ละเมธอดเพื่อคืนค่าข้อมูล @RestController ถูกออกแบบมาสำหรับ REST API ในขณะที่ @Controller ใช้สำหรับเว็บแอปพลิเคชันแบบดั้งเดิมที่มีการ render view
3จะแมปเมธอดของ controller กับคำขอ HTTP POST บน URL /users ได้อย่างไร?
จะแมปเมธอดของ controller กับคำขอ HTTP POST บน URL /users ได้อย่างไร?
คำตอบ
@PostMapping เป็น annotation เฉพาะทางสำหรับการแมปเมธอดกับคำขอ POST บน URL ที่ระบุ มันเป็นทางลัดของ @RequestMapping(method = RequestMethod.POST) annotation เฉพาะทางอื่น ๆ ได้แก่ @GetMapping, @PutMapping, @DeleteMapping และ @PatchMapping วิธีนี้อ่านง่ายและกระชับกว่า @RequestMapping ที่ใช้แอตทริบิวต์ method
จะดึงตัวแปร path จาก URL เช่น /users/{id} ได้อย่างไร?
ควรใช้ annotation ใดเพื่อ deserialize JSON จาก body ของคำขอ HTTP โดยอัตโนมัติ?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Spring Boot อื่นๆ
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
การทำ Logging ด้วย SLF4J และ Logback
Spring Boot DevTools
Spring REST Controllers
Request & Response Handling
การจัดการข้อยกเว้น
Bean Validation
พื้นฐาน Spring Data JPA
เอนทิตี JPA และความสัมพันธ์
การสืบค้น JPA
Spring Data Repositories
พื้นฐาน Spring Security
Spring Boot Actuator
การทดสอบหน่วยด้วย JUnit และ Mockito
การทดสอบ Spring Boot
Profiles และ Environment
RestTemplate และ WebClient
Async และ Scheduling
Caching ด้วย Spring
Spring WebFlux (Reactive)
ทรานแซกชัน Spring
การยืนยันตัวตนและการให้สิทธิ์ขั้นสูง
JWT และความปลอดภัยแบบ Stateless
OAuth2 และ Authorization Server
Spring Boot และ Docker
Microservices ด้วย Spring
Spring Cloud Config
การเพิ่มประสิทธิภาพการทำงาน
GraalVM Native Images
เชี่ยวชาญ Spring Boot สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี