Request & Response Handling
@PathVariable, @RequestParam, @RequestBody, @RequestHeader, การเจรจาเนื้อหา (content negotiation), การ serialize JSON
1Annotation ใดที่ช่วยให้สามารถดึงค่าจาก HTTP header ใน Spring MVC controller ได้?
Annotation ใดที่ช่วยให้สามารถดึงค่าจาก HTTP header ใน Spring MVC controller ได้?
คำตอบ
@RequestHeader ช่วยให้สามารถดึงค่าจาก HTTP header ของ request ที่เข้ามาได้ annotation นี้จะ bind ค่าของ header ที่ระบุไปยังพารามิเตอร์ของเมธอดโดยอัตโนมัติ รองรับการแปลงชนิดข้อมูลและสามารถทำให้เป็น optional ได้ด้วย required=false มีประโยชน์สำหรับการดึง authentication token ข้อมูล tracking หรือการตั้งค่าของไคลเอนต์เช่น Accept-Language
2จะดึงค่าของ cookie ชื่อ 'sessionId' ในเมธอดของ controller ได้อย่างไร?
จะดึงค่าของ cookie ชื่อ 'sessionId' ในเมธอดของ controller ได้อย่างไร?
คำตอบ
@CookieValue ช่วยให้สามารถดึงค่าของ HTTP cookie ที่ระบุและ bind ไปยังพารามิเตอร์ของเมธอดได้ annotation นี้รับชื่อ cookie เป็นพารามิเตอร์และรองรับการแปลงชนิดข้อมูลโดยอัตโนมัติ สามารถทำเครื่องหมายเป็น optional ได้ด้วย required=false มักใช้สำหรับตัวระบุเซสชัน การตั้งค่าผู้ใช้ หรือ token สำหรับ analytics tracking
3เหตุใดการ inject HttpServletRequest เข้าไปในเมธอดของ controller โดยตรงจึงเหมาะสมน้อยกว่าการใช้ annotation ของ Spring MVC?
เหตุใดการ inject HttpServletRequest เข้าไปในเมธอดของ controller โดยตรงจึงเหมาะสมน้อยกว่าการใช้ annotation ของ Spring MVC?
คำตอบ
annotation ของ Spring MVC เช่น @RequestParam, @RequestHeader หรือ @PathVariable ให้การดึงข้อมูลแบบมีชนิดและอัตโนมัติ พร้อมการจัดการการแปลงและการตรวจสอบความถูกต้อง การใช้ HttpServletRequest โดยตรงต้อง parse ด้วยตนเอง ทำให้โค้ดอ่านยากและทดสอบยากขึ้น annotation ยังส่งเสริมความไม่เปลี่ยนแปลง (immutability) และความชัดเจนของ API contract
Interface ใดที่ช่วยให้สามารถดักจับ HTTP request ก่อนที่จะถึง controller ใน Spring MVC ได้?
จะลงทะเบียน interceptor ที่กำหนดเองในแอปพลิเคชัน Spring MVC ได้อย่างไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Spring Boot อื่นๆ
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
การทำ Logging ด้วย SLF4J และ Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
การจัดการข้อยกเว้น
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 และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี