สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาเว็บไซต์ · WDC-98

RESTful API with Spring Boot and Kotlin

หลักสูตร RESTful API with Spring Boot and Kotlin เป็นการอบรมพัฒนา RESTful API ด้วย Spring Boot 4 และ Kotlin 2 ครอบคลุม Validation, Spring Data JPA, Spring Security กับ JWT และการทดสอบ เหมาะกับนักพัฒนา Java ที่เคยใช้ Spring Boot และนักไอทีที่ดูแลระบบ API จบแล้วสร้าง API ด้วย Kotlin ที่พร้อมขึ้นระบบจริงได้

อัปเดตล่าสุด
ราคาเริ่มต้น 8,550 บาท / ท่าน 9,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

Kotlin เป็นภาษาที่ Spring รองรับอย่างเป็นทางการ เขียนสั้นกว่า Java ปลอดภัยจากค่า null มากกว่า และทำงานบน JVM ร่วมกับไลบรารี Java เดิมได้ทั้งหมด ทีม Backend จำนวนมากจึงเลือก Kotlin กับ Spring Boot สำหรับบริการใหม่ แต่ตัวอย่างบนอินเทอร์เน็ตจำนวนมากยังใช้ Spring Boot 2 และ RestTemplate ซึ่งตอนนี้ถูก Deprecated แล้ว พอนำมาใช้กับ Spring Boot 4 และ Spring Framework 7 จึงเจอทั้ง API ที่เปลี่ยนไปและแนวทางที่ไม่แนะนำแล้ว

หลักสูตรนี้พานักพัฒนาที่มีพื้นฐาน Java และ Spring Boot เริ่มจาก Kotlin 2 ในส่วนที่ต้องใช้จริงกับงาน API ทั้ง Null Safety, Data Class, Sealed Class, Collection, Lambda, Scope Functions และ Coroutines เบื้องต้น จากนั้นสร้าง RESTful API ด้วย Spring Boot 4 ตั้งแต่ออกแบบ Resource ทำ Controller, DTO และ Validation จัดการ Error ด้วย ProblemDetail ทำ API Versioning เก็บข้อมูลใน PostgreSQL ด้วย Spring Data JPA และ Flyway ป้องกัน API ด้วย Spring Security และ JWT เรียก API ภายนอกด้วย RestClient และ HTTP Service Client เขียน Test ด้วย JUnit, MockK และ Testcontainers แล้วทำเอกสาร OpenAPI และ Docker Image ปิดท้ายด้วย Capstone API ครบวงจร (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เขียน Kotlin 2 ได้คล่อง ทั้ง Null Safety, Data Class, Sealed Class, Collection และ Scope Functions
  • สร้างโปรเจกต์ Spring Boot 4 ด้วย Kotlin และ Gradle Kotlin DSL ได้
  • ออกแบบและพัฒนา RESTful API พร้อม Validation, ProblemDetail และ API Versioning
  • เก็บข้อมูลใน PostgreSQL ด้วย Spring Data JPA และจัดการ Schema ด้วย Flyway
  • ป้องกัน API ด้วย Spring Security และ JWT พร้อมกำหนดสิทธิ์ตาม Role
  • เรียก API ภายนอกด้วย RestClient และ HTTP Service Client แทน RestTemplate
  • เขียน Unit Test และ Integration Test ด้วย JUnit, MockK และ Testcontainers

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนา Java ที่ต้องการเริ่มใช้ Kotlin กับ Spring Boot
  • นักพัฒนา Backend ที่ต้องการอัปเดตงาน REST API ให้เป็น Spring Boot 4
  • นักไอทีและผู้ดูแลระบบที่ต้องพัฒนาหรือดูแลบริการ API ขององค์กร
  • ทีมพัฒนาแอป Android ที่ใช้ Kotlin อยู่แล้วและต้องการทำ Backend ด้วยภาษาเดียวกัน

พื้นฐานของผู้เข้าอบรม

  • เขียนภาษา Java ได้ และเข้าใจ OOP, Interface และ Collection
  • เคยสร้างแอปพลิเคชันด้วย Spring Boot มาก่อน แม้เพียงโปรเจกต์ตัวอย่าง
  • เคยใช้ IntelliJ IDEA และเข้าใจ HTTP Method, Status Code และ JSON
  • ใช้คำสั่ง SQL พื้นฐานได้ ไม่จำเป็นต้องเคยเขียน Kotlin มาก่อน
  • โน้ตบุ๊กที่ติดตั้ง JDK 25, IntelliJ IDEA และ Docker Desktop ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ที่มาแทนหลักสูตร RESTful API with Spring Boot and Kotlin รุ่นเดิมซึ่งสอนบน Spring Boot รุ่นก่อนและใช้ RestTemplate เนื้อหาเขียนใหม่สำหรับ Spring Boot 4.1, Spring Framework 7 และ Kotlin 2 อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab บนโปรเจกต์ API ชุดเดียว ระดับ Intermediate เพิ่ม Spring Data JPA กับ PostgreSQL, Flyway, ProblemDetail, API Versioning, Spring Security กับ JWT, RestClient, Testcontainers, OpenAPI และ Docker หลักสูตรนี้ต่อยอดจาก Basic Java Programming และเน้น REST API ด้วย Kotlin ต่างจากหลักสูตร Microservices with Spring Boot and Spring Cloud ที่เน้นสถาปัตยกรรมหลายบริการ

Day 1 Kotlin 2 สำหรับนักพัฒนา Java

Section 1: Lab: เริ่มต้น Kotlin 2 และเครื่องมือ

  • Kotlin ทำงานบน JVM อย่างไร และจุดเด่นเมื่อเทียบกับ Java
  • K2 Compiler และการตั้งค่าโปรเจกต์ใน IntelliJ IDEA
  • Gradle Kotlin DSL และโครงสร้างไฟล์ build.gradle.kts
  • เรียกใช้คลาส Java เดิมจาก Kotlin และในทางกลับกัน
  • Lab: แปลงโค้ด Java สั้น ๆ เป็น Kotlin

Section 2: พื้นฐานภาษาและ Null Safety

  • val กับ var, Type Inference และ String Template
  • if และ when แบบ Expression, Range และลูป
  • Nullable Type, Safe Call (?.), Elvis Operator (?:) และ Smart Cast
  • เหตุผลที่ควรหลีกเลี่ยง Non-null Assertion (!!)
  • Lab: ฟังก์ชันตรวจและแปลงข้อมูลที่อาจเป็น null

Section 3: Function, Class และ Data Class

  • Default Argument, Named Argument และ Extension Function
  • Class, Primary Constructor และ init
  • Data Class สำหรับ DTO พร้อม copy() และ equals()
  • Sealed Class และ Sealed Interface สำหรับผลลัพธ์หลายแบบ
  • object, companion object และ Visibility Modifier

Section 4: Lab: Collection, Lambda และ Scope Functions

  • List, Set และ Map แบบอ่านอย่างเดียวและแบบแก้ไขได้
  • map, filter, flatMap, groupBy และ associateBy
  • Sequence สำหรับประมวลผลข้อมูลจำนวนมากแบบ Lazy
  • Scope Functions: let, apply, also, run และ with
  • Lab: สรุปข้อมูลคำสั่งซื้อด้วย Collection API

Section 5: Error Handling และ Coroutines เบื้องต้น

  • Exception ใน Kotlin, runCatching และ Result
  • จำลองผลลัพธ์สำเร็จหรือผิดพลาดด้วย Sealed Class
  • suspend function และ Coroutine Scope
  • เรียกงานหลายอย่างพร้อมกันด้วย async และ await
  • Lab: ดึงข้อมูลจากหลายแหล่งพร้อมกันแล้วรวมผลลัพธ์
Day 2 สร้าง RESTful API ด้วย Spring Boot 4

Section 6: Lab: เริ่มโปรเจกต์ Spring Boot 4 ด้วย Kotlin

  • สร้างโปรเจกต์จาก Spring Initializr ด้วย Kotlin และ Gradle
  • สิ่งที่เปลี่ยนใน Spring Boot 4 และ Spring Framework 7 เช่น Jackson 3 และ JSpecify
  • Plugin kotlin-spring และ Constructor Injection
  • ตั้งค่าด้วย application.yml, Profile และ @ConfigurationProperties
  • Lab: Endpoint แรกและการตั้งค่าแยกตาม Environment

Section 7: หลักการออกแบบ RESTful API

  • Resource, URI และการเลือก HTTP Method ให้ถูกความหมาย
  • Status Code ที่ควรใช้ในแต่ละสถานการณ์
  • Richardson Maturity Model และระดับของ REST
  • Pagination, Filtering และ Sorting
  • API Versioning ด้วยความสามารถใหม่ของ Spring Framework 7

Section 8: Lab: Controller, DTO และ Validation

  • @RestController และ Mapping ทุก HTTP Method
  • Request และ Response DTO ด้วย Data Class
  • Bean Validation ใน Kotlin ด้วย @field: และ @Valid
  • ResponseEntity และ Header ที่ควรส่งกลับ
  • Lab: CRUD API ระบบจัดการสินค้าเก็บข้อมูลในหน่วยความจำ

Section 9: Error Handling ด้วย ProblemDetail

  • รูปแบบ Error มาตรฐานตาม RFC 9457 ด้วย ProblemDetail
  • @RestControllerAdvice และ Exception Handler กลาง
  • สร้าง Exception ของโดเมนด้วย Sealed Class
  • ส่งรายละเอียด Validation Error ให้ฝั่ง Frontend ใช้งานง่าย
  • Lab: ปรับ API ให้ตอบ Error รูปแบบเดียวกันทั้งระบบ

Section 10: Lab: Spring Data JPA กับ PostgreSQL

  • รัน PostgreSQL ด้วย Docker Compose
  • Entity ใน Kotlin กับ Plugin kotlin-jpa และข้อควรระวัง
  • Repository, Query Method และ Pageable
  • จัดการ Schema ด้วย Flyway Migration
  • Lab: ย้าย API สินค้ามาเก็บข้อมูลใน PostgreSQL
Day 3 Security, Integration, Testing และ Deploy

Section 11: Lab: ป้องกัน API ด้วย Spring Security

  • SecurityFilterChain ด้วย Kotlin DSL
  • ยืนยันตัวตนด้วย JWT แบบ OAuth2 Resource Server
  • กำหนดสิทธิ์ตาม Role ทั้งระดับ URL และระดับ Method
  • ตั้งค่า CORS และเก็บ Secret อย่างปลอดภัย
  • Lab: Login ออก Token และป้องกัน Endpoint ของผู้ดูแลระบบ

Section 12: เรียก API ภายนอกด้วย RestClient

  • RestClient แทน RestTemplate ที่ถูก Deprecated
  • HTTP Service Client ด้วย Interface และ @HttpExchange
  • จัดการ Error, Timeout และการ Retry อย่างเหมาะสม
  • แปลงข้อมูลจาก API ภายนอกเป็น Data Class
  • Lab: เชื่อม API ภายนอกเพื่อเติมข้อมูลให้ระบบสินค้า

Section 13: Lab: Testing ด้วย JUnit, MockK และ Testcontainers

  • Unit Test ของ Service ด้วย JUnit และ MockK
  • ทดสอบ Web Layer ด้วย @WebMvcTest และ MockMvc
  • Integration Test ด้วย @SpringBootTest
  • ทดสอบกับ PostgreSQL จริงด้วย Testcontainers
  • Lab: เขียน Test ครอบคลุม Controller, Service และ Repository

Section 14: เอกสาร API และความพร้อมขึ้น Production

  • สร้างเอกสาร OpenAPI และ Swagger UI ด้วย springdoc-openapi
  • Health Check และ Metrics ด้วย Spring Boot Actuator
  • Structured Logging และการติดตาม Request
  • Build Docker Image ด้วย bootBuildImage หรือ Dockerfile

Section 15: Workshop: Capstone API ครบวงจร

  • เลือกโจทย์ เช่น ระบบจองห้องประชุมหรือระบบสั่งซื้อสินค้า
  • ออกแบบ Resource, DTO และ Error Response
  • พัฒนาให้ครบทั้ง JPA, Validation และ Security
  • เขียน Test และ Build เป็น Docker Image
  • นำเสนอผลงาน รีวิวโค้ดร่วมกัน และสรุปแนวทางต่อยอด

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

Kotlin จัดการค่า null อย่างไร

Kotlin แยกชนิดข้อมูลที่เป็น null ได้ออกจากชนิดที่เป็น null ไม่ได้ เช่น String ห้ามเป็น null แต่ String? เป็น null ได้ คอมไพเลอร์จะไม่ยอมให้เรียกใช้ค่าที่อาจเป็น null โดยตรง ต้องใช้ Safe Call (?.) ซึ่งคืน null แทนการเกิด Error ใช้ Elvis Operator (?:) กำหนดค่าสำรอง หรือตรวจด้วย if ก่อนแล้ว Smart Cast จะถือว่าไม่เป็น null ให้เอง ส่วน Non-null Assertion (!!) จะโยน NullPointerException ถ้าค่าเป็น null จึงควรใช้ให้น้อยที่สุด และเมื่อใช้กับ Spring Framework 7 ที่ใส่ JSpecify Annotation ไว้ Kotlin จะรู้ด้วยว่า API ใดของ Spring คืนค่า null ได้

สร้าง REST Controller ด้วย Spring Boot และ Kotlin ทำอย่างไร

สร้างโปรเจกต์จาก Spring Initializr โดยเลือกภาษา Kotlin และเพิ่ม Spring Web จากนั้นเขียนคลาสที่มี @RestController และ @RequestMapping กำหนด Path หลัก แล้วสร้างฟังก์ชันพร้อม @GetMapping, @PostMapping, @PutMapping และ @DeleteMapping รับค่าด้วย @PathVariable, @RequestParam หรือ @RequestBody ที่เป็น Data Class ตรวจข้อมูลด้วย @Valid ส่งงานต่อให้ Service ที่รับเข้ามาผ่าน Constructor Injection ตอบกลับเป็น JSON พร้อม Status Code ที่เหมาะสม และใช้ ProblemDetail ตอบ Error ในรูปแบบมาตรฐาน

ทำไมควรเปลี่ยนจาก RestTemplate เป็น RestClient

ใน Spring Framework รุ่นปัจจุบัน RestTemplate ถูก Deprecated แล้วและ Spring แนะนำให้ใช้ RestClient แทน RestClient เป็น Client แบบ Synchronous ที่เขียนต่อกันเป็นลำดับอ่านง่าย จัดการ Error ตาม Status Code ได้สะดวก และใช้โครงสร้างพื้นฐานร่วมกับ RestTemplate จึงย้ายทีละส่วนได้ นอกจากนี้ยังใช้ HTTP Service Client ซึ่งประกาศ Interface พร้อม @HttpExchange แล้วให้ Spring สร้างตัวเรียก API ให้ ทำให้โค้ดสั้นและทดสอบง่ายขึ้น

หลักสูตร RESTful API with Spring Boot and Kotlin เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนา Java ที่ต้องการเริ่มใช้ Kotlin กับ Spring Boot นักพัฒนา Backend ที่ต้องการอัปเดตงานเป็น Spring Boot 4 นักไอทีและผู้ดูแลระบบที่ดูแลบริการ API และทีม Android ที่ใช้ Kotlin อยู่แล้ว ควรเขียนภาษา Java ได้ เคยสร้างแอปด้วย Spring Boot และเคยใช้ IntelliJ IDEA ส่วนภาษา Kotlin เริ่มเรียนตั้งแต่พื้นฐานในวันแรก

เรียนจบหลักสูตร RESTful API with Spring Boot and Kotlin แล้วทำอะไรได้บ้าง

เขียน Kotlin ได้ทั้ง Null Safety, Data Class, Sealed Class, Collection และ Scope Functions สร้าง RESTful API ด้วย Spring Boot 4 พร้อม Validation, ProblemDetail และ API Versioning เก็บข้อมูลใน PostgreSQL ด้วย Spring Data JPA และ Flyway ป้องกัน API ด้วย Spring Security และ JWT เรียก API ภายนอกด้วย RestClient เขียน Test ด้วย JUnit, MockK และ Testcontainers ทำเอกสาร OpenAPI และ Build เป็น Docker Image ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

เรียน RESTful API with Spring Boot and Kotlin ต้องใช้โปรแกรมอะไรบ้าง

ใช้ JDK 25 และ IntelliJ IDEA สำหรับเขียนโค้ด Kotlin และ Spring Boot ใช้ Docker Desktop รัน PostgreSQL และ Testcontainers และใช้ Postman หรือ Bruno ทดสอบ API ไลบรารีอื่น เช่น Spring Security, Flyway, MockK และ springdoc-openapi ติดตั้งผ่าน Gradle ในโปรเจกต์ เครื่องมือทั้งหมดเป็นโอเพนซอร์สหรือใช้ฟรี จึงควรมีโน้ตบุ๊กที่ติดตั้งโปรแกรมเหล่านี้ได้

บทความที่เกี่ยวข้อง