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

GraphQL API with ASP.NET Core and Hot Chocolate

หลักสูตร GraphQL API with ASP.NET Core and Hot Chocolate เป็นการอบรมสร้าง GraphQL API ด้วย C# บน .NET 10 และ Hot Chocolate ตั้งแต่ออกแบบ Schema เชื่อม SQL Server ด้วย EF Core และ DataLoader จนถึง Mutation, Subscription และการป้องกัน API เหมาะกับนักพัฒนา C# และ ASP.NET Core ที่สร้าง API ให้เว็บและแอป

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

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

GraphQL ช่วยให้แอปฝั่ง Client ขอเฉพาะข้อมูลที่ต้องการได้ในการเรียกครั้งเดียว ผ่าน Endpoint เดียวที่มี Schema กำหนดชนิดข้อมูลชัดเจน จึงเหมาะกับระบบที่มีทั้งเว็บ แอปมือถือ และบริการหลายตัวใช้ข้อมูลร่วมกัน บน .NET เครื่องมือที่นิยมที่สุดคือ Hot Chocolate ซึ่งแปลงคลาสและเมธอด C# เป็น GraphQL Schema ให้อัตโนมัติ และมี Nitro เป็นหน้าทดสอบ Query ในตัว

หลักสูตรนี้สอนการสร้าง GraphQL API ด้วย ASP.NET Core บน .NET 10 และ Hot Chocolate 16 ตั้งแต่ภาษา Query และการออกแบบ Schema เชื่อมฐานข้อมูล SQL Server ด้วย EF Core 10 แก้ปัญหา N+1 ด้วย DataLoader ทำ Paging, Filtering และ Sorting เขียน Mutation และ Subscription ใส่ Authentication และ Authorization ป้องกัน API จาก Query ที่หนักเกินไป เรียกใช้ API จาก Client ด้วย Strawberry Shake แล้วปิดท้ายด้วยการทดสอบและ Deploy ด้วย Docker (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

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

  • เข้าใจหลักการของ GraphQL และเลือกใช้แทนหรือคู่กับ REST ได้อย่างเหมาะสม
  • เขียน Query ด้วย Argument, Alias, Fragment, Variable และ Directive ได้
  • ออกแบบ Schema และ Type ด้วย Hot Chocolate 16 บน ASP.NET Core 10 ได้
  • ดึงข้อมูลจาก SQL Server ด้วย EF Core 10 และแก้ปัญหา N+1 ด้วย DataLoader ได้
  • ทำ Paging, Filtering, Sorting, Mutation และ Subscription ได้
  • ป้องกัน API ด้วย Authorization, Cost Analysis และ Trusted Documents ได้
  • เรียกใช้ GraphQL API จาก Client .NET ด้วย Strawberry Shake ได้
  • ทดสอบ ติดตามผล และ Deploy GraphQL Server ด้วย Docker ได้

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

  • นักพัฒนา C# และ ASP.NET Core ที่ต้องการสร้าง API ด้วย GraphQL
  • นักพัฒนา Backend ที่ดูแล REST API และต้องการรองรับ Client หลายแบบ
  • ทีมที่ยังใช้ GraphQL บน .NET 6 หรือ Hot Chocolate รุ่นเก่าและต้องการอัปเดต
  • นักพัฒนา Frontend และ Mobile ที่ต้องการเข้าใจการออกแบบ GraphQL ฝั่ง Server

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

  • เขียนภาษา C# ได้ เข้าใจคลาส เมธอด Async/Await และ LINQ เบื้องต้น
  • เคยสร้างเว็บหรือ Web API ด้วย ASP.NET Core มาบ้าง
  • รู้จักฐานข้อมูลและคำสั่ง SQL พื้นฐาน
  • โน้ตบุ๊กที่ติดตั้ง .NET 10 SDK และ Docker Desktop ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

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

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

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร GraphQL API with ASP.Net 6 เนื้อหาเปลี่ยนเป็น .NET 10 (LTS), ASP.NET Core 10, EF Core 10 และ Hot Chocolate 16 ทั้งหมด อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab ผ่านระบบร้านค้าตัวอย่างที่ต่อเติมตลอดหลักสูตร ระดับ Intermediate

วันแรกเป็นภาษา Query และการออกแบบ Schema วันที่สองเชื่อม SQL Server ด้วย EF Core 10 ทำ DataLoader, Paging, Filtering และ Mutation วันที่สามเป็น Subscription, Authorization, การป้องกัน Query ที่หนักเกินไป, Client ด้วย Strawberry Shake และการทดสอบกับ Deploy ด้วย Docker เครื่องมือในห้องเรียนใช้ได้ฟรีทั้งหมด ผู้เรียนได้ซอร์สโค้ดครบทุก Lab กลับไปใช้งานต่อ

Day 1 พื้นฐาน GraphQL และการออกแบบ Schema

Section 1: GraphQL คืออะไรและเหมาะกับงานแบบไหน

  • ปัญหา Over-fetching และ Under-fetching ของ REST API
  • GraphQL เทียบกับ REST และ gRPC ข้อดีและข้อจำกัด
  • องค์ประกอบหลัก: Schema, Query, Mutation และ Subscription
  • เครื่องมือ GraphQL บน .NET และภาพรวม Hot Chocolate
  • กรณีที่ควรใช้ GraphQL คู่กับ REST ในองค์กร

Section 2: Lab: เตรียม .NET 10 และโปรเจกต์ Hot Chocolate

  • ติดตั้ง .NET 10 SDK, Template ของ Hot Chocolate และ Extension ที่จำเป็น
  • สร้างโปรเจกต์ด้วย dotnet new graphql และสำรวจโครงสร้าง
  • ลงทะเบียน AddGraphQLServer และ MapGraphQL ใน Program.cs
  • ทดสอบ Query แรกด้วย Nitro ที่ Endpoint /graphql
  • Lab: เก็บโปรเจกต์ไว้บน Git ตั้งแต่วันแรก

Section 3: Lab: ภาษา Query ของ GraphQL

  • Query พื้นฐานและการเลือกฟิลด์ที่ซ้อนกัน
  • Argument และ Alias สำหรับเรียกฟิลด์เดียวกันหลายครั้ง
  • Fragment และ Inline Fragment สำหรับนำส่วนของ Query กลับมาใช้
  • Variable และ Directive อย่าง @include และ @skip
  • Lab: เขียน Query ดึงข้อมูลสินค้าและหมวดหมู่ในครั้งเดียว

Section 4: Schema และ Type System

  • Scalar Type และ Object Type รวมถึง Scalar ที่ Hot Chocolate เพิ่มให้
  • Interface Type และ Union Type
  • Enum Type และ Input Object Type
  • List และ Non-Null กับ Nullable Reference Types ของ C#
  • อ่านและออกแบบ Schema ด้วยภาษา SDL

Section 5: Lab: Schema แบบ Implementation-first

  • สร้าง Query Type ด้วย Attribute อย่าง [QueryType] และ Source Generator
  • Type Extension สำหรับแยก Resolver ตามโดเมน
  • ใช้ XML Documentation Comment เป็นคำอธิบายใน Schema
  • Introspection, __typename และการส่งออก Schema เป็นไฟล์
  • Lab: Schema ระบบร้านค้าที่มีสินค้า หมวดหมู่ และคำสั่งซื้อ
Day 2 ฐานข้อมูล ประสิทธิภาพ และ Mutation

Section 6: Lab: เชื่อม SQL Server ด้วย EF Core 10

  • สร้าง Model, DbContext และ Migration บน SQL Server 2025
  • ลงทะเบียน DbContextFactory ให้ทำงานร่วมกับ Hot Chocolate
  • Resolver ที่ดึงข้อมูลผ่าน DbContext และ Service ด้วย Dependency Injection
  • Nested Field สำหรับข้อมูลที่สัมพันธ์กัน
  • Lab: Query รายการสินค้าพร้อมหมวดหมู่จากฐานข้อมูลจริง

Section 7: Lab: DataLoader และปัญหา N+1

  • ปัญหา N+1 Query ใน GraphQL เกิดขึ้นได้อย่างไร
  • Batch DataLoader และ Group DataLoader
  • สร้าง DataLoader ด้วย Source Generator
  • ตรวจ SQL ที่เกิดขึ้นจริงด้วย Logging ของ EF Core
  • Lab: ลดจำนวน Query จากหลายร้อยครั้งเหลือไม่กี่ครั้ง

Section 8: Lab: Paging, Filtering, Sorting และ Projection

  • Cursor-based Paging ตามแบบ Connection และ Offset Paging
  • Filtering และ Sorting ที่แปลงเป็น Query ของ EF Core
  • Projection ให้ดึงเฉพาะคอลัมน์ที่ Client ขอ
  • ข้อควรระวังด้านประสิทธิภาพและการจำกัดขนาดหน้า
  • Lab: หน้าค้นหาสินค้าที่กรอง เรียง และแบ่งหน้าได้

Section 9: Lab: Mutation และ Input Type

  • ออกแบบ Mutation ตามแนวทางที่แนะนำ: Input และ Payload
  • Mutation Conventions ของ Hot Chocolate
  • สร้าง แก้ไข และลบข้อมูลพร้อม Transaction
  • ตรวจสอบข้อมูลนำเข้าก่อนบันทึกลงฐานข้อมูล
  • Lab: Mutation สร้างคำสั่งซื้อและปรับสต็อกสินค้า

Section 10: การจัดการ Error และ Validation

  • รูปแบบ Error ใน Response ของ GraphQL
  • Error ที่เป็นส่วนหนึ่งของ Schema กับ Error ของระบบ
  • Error Filter สำหรับซ่อนรายละเอียดภายในไม่ให้หลุดถึง Client
  • Validation ของ Query ตามข้อกำหนด GraphQL
  • Lab: ส่ง Error ที่ Client นำไปแสดงผลได้เมื่อสต็อกไม่พอ
Day 3 Real-time ความปลอดภัย Client และการ Deploy

Section 11: Lab: Subscription แบบ Real-time

  • หลักการ Subscription และ Transport ผ่าน WebSocket
  • In-memory Subscription สำหรับเครื่องเดียว
  • Redis Subscription เมื่อรันหลาย Instance
  • ส่งเหตุการณ์จาก Mutation เมื่อสร้างหรือแก้ไขข้อมูล
  • Lab: แจ้งเตือนคำสั่งซื้อใหม่แบบ Real-time

Section 12: Lab: Authentication และ Authorization

  • Authentication ด้วย JWT Bearer บน ASP.NET Core 10
  • ลงทะเบียน AddAuthorization ทั้งฝั่ง ASP.NET Core และ GraphQL
  • [Authorize] ระดับ Type และ Field พร้อม Role และ Policy
  • อ่านข้อมูลผู้ใช้ใน Resolver เพื่อกรองข้อมูลตามสิทธิ์
  • Lab: ให้ลูกค้าเห็นเฉพาะคำสั่งซื้อของตนเอง

Section 13: ป้องกัน API จาก Query ที่หนักเกินไป

  • Cost Analysis และการตั้งเพดานต้นทุนของ Query
  • จำกัดความลึกของ Query และเวลาประมวลผล
  • ปิด Introspection ใน Production
  • Persisted Operations และ Trusted Documents
  • Lab: ทดลองส่ง Query ที่ซ้อนลึกแล้วดูว่าระบบปฏิเสธอย่างไร

Section 14: Lab: เรียกใช้ API จากฝั่ง Client

  • สร้าง Typed Client ด้วย Strawberry Shake จากไฟล์ .graphql
  • เรียก Query และ Mutation จากแอป .NET
  • รับ Subscription ผ่าน WebSocket จากฝั่ง Client
  • ภาพรวมการเรียก GraphQL จาก JavaScript ด้วย fetch
  • Lab: แอป Console แสดงรายการสินค้าและสั่งซื้อผ่าน API

Section 15: Workshop: ทดสอบ ติดตามผล และ Deploy

  • Integration Test ของ Schema และ Resolver ด้วย xUnit
  • Logging และ OpenTelemetry สำหรับติดตามการทำงานของ Query
  • Workshop: Deploy GraphQL Server กับ SQL Server และ Redis ด้วย Docker
  • นำเสนอผลงานและ Checklist ก่อนขึ้น Production

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

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

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

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

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

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

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

GraphQL ต่างจาก REST API อย่างไร

REST แยก Endpoint ตามทรัพยากร และแต่ละ Endpoint ส่งข้อมูลกลับมาเป็นรูปแบบตายตัว จึงมักได้ข้อมูลเกินหรือขาดจนต้องเรียกหลายครั้ง ส่วน GraphQL มี Endpoint เดียว และให้ Client เขียน Query ระบุฟิลด์ที่ต้องการเองรวมถึงข้อมูลที่ซ้อนกัน จึงได้ข้อมูลพอดีในการเรียกครั้งเดียว โดยมี Schema ที่กำหนดชนิดข้อมูลชัดเจนเป็นสัญญาระหว่าง Client กับ Server ในงานจริงหลายองค์กรใช้ทั้งสองแบบคู่กัน

Query, Mutation และ Subscription ใน GraphQL ต่างกันอย่างไร

Query ใช้อ่านข้อมูลอย่างเดียว เทียบได้กับ GET ใน REST ส่วน Mutation ใช้สร้าง แก้ไข หรือลบข้อมูล และส่งผลลัพธ์หลังเปลี่ยนแปลงกลับมาได้ในคราวเดียว ส่วน Subscription ให้ Client รอรับข้อมูลแบบ Real-time เมื่อมีเหตุการณ์เกิดขึ้นฝั่ง Server เช่น มีคำสั่งซื้อใหม่ โดยมักรับส่งผ่าน WebSocket และเมื่อรันหลาย Instance ใน Hot Chocolate นิยมใช้ Redis เป็นตัวกลางส่งเหตุการณ์

สร้าง GraphQL API บน .NET 10 ด้วย Hot Chocolate และ EF Core มีขั้นตอนอย่างไร

เริ่มจากติดตั้ง Template ของ Hot Chocolate แล้วสร้างโปรเจกต์ด้วย dotnet new graphql บน .NET 10 จากนั้นตั้งค่า EF Core 10 ทั้ง Model, DbContext และ Migration แล้วลงทะเบียน DbContextFactory ร่วมกับ AddGraphQLServer ใน Program.cs เขียนคลาส Query ที่ใช้ Attribute อย่าง [QueryType] ให้ Source Generator สร้าง Schema ให้ ผูก Endpoint /graphql ด้วย MapGraphQL และทดสอบใน Nitro ก่อนเพิ่ม DataLoader, Paging, Mutation และ Subscription

หลักสูตร GraphQL API with ASP.NET Core and Hot Chocolate เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนา C# และ ASP.NET Core ที่ต้องการสร้าง API ด้วย GraphQL นักพัฒนา Backend ที่ต้องรองรับ Client หลายแบบ และทีมที่ใช้ GraphQL บน .NET รุ่นเก่าแล้วต้องการอัปเดต ควรเขียนภาษา C# ได้ เข้าใจคลาส Async/Await และ LINQ เบื้องต้น เคยสร้างเว็บหรือ Web API ด้วย ASP.NET Core มาบ้าง และรู้จักคำสั่ง SQL พื้นฐาน

เรียนจบหลักสูตร GraphQL API with ASP.NET Core and Hot Chocolate แล้วทำอะไรได้บ้าง

เขียน Query ที่ใช้ Argument, Alias, Fragment, Variable และ Directive ออกแบบ Schema ด้วย Hot Chocolate 16 บน .NET 10 ดึงข้อมูลจาก SQL Server ด้วย EF Core 10 และ DataLoader ทำ Paging, Filtering, Mutation และ Subscription ป้องกัน API ด้วย Authorization และ Cost Analysis เรียกใช้ API ด้วย Strawberry Shake และ Deploy ด้วย Docker ได้ ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร GraphQL API with ASP.NET Core and Hot Chocolate ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ออกแบบ Schema จากฐานข้อมูลหรือระบบที่ทีมดูแลอยู่ หรือวางแนวทางย้าย GraphQL Server รุ่นเดิมขึ้น .NET 10 ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

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