GraphQL APIs with Spring Boot · บทเรียน

การกำหนดชนิดข้อมูลแบบกำหนดเอง

สร้างชนิดออบเจ็กต์ ชนิดสเกลาร์ และ enum แบบกำหนดเองในสคีมา GraphQL เพื่อแทนข้อมูลของแอปพลิเคชัน

บทเรียน 1 จาก 411 ขั้นตอน

การกำหนดชนิดข้อมูลแบบกำหนดเอง เป็นบทเรียน GraphQL APIs with Spring Boot ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน GraphQL APIs with Spring Boot และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส GraphQL APIs with Spring Boot มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

Custom Types: Your Data's Blueprint

In GraphQL, data types are like blueprints for your application's information. They define the shape and kind of data that can be queried or modified.

While GraphQL provides some basic types, you'll often need to define your own to perfectly match your application's unique data structure.

GraphQL's Building Blocks

GraphQL has built-in scalar types like String, Int, Boolean, Float, and ID. These are fundamental, single-value types.

But real-world data is complex! This is where Object Types come in. They let you define objects with multiple fields, each having its own type.

Crafting Object Types

You define an object type using the type keyword in GraphQL's Schema Definition Language (SDL). Think of it as creating a custom class or struct.

Each field within an object type has a name and a type. Fields can be other object types, scalar types, or even lists of types.

Example: A 'Book' Object

Let's imagine we're building an API for a library. We'd need a way to represent a book. Here's how you might define a Book object type:

type Book {
  id: ID!
  title: String!
  author: String
  publicationYear: Int
}

The ! after a type means the field is non-nullable – it must always have a value.

Beyond Basic Scalars

Sometimes, built-in scalars aren't specific enough. For example, a Date field could be a String, but what if you need to ensure a specific format?

Custom Scalar Types allow you to define your own scalar types with specific serialization, parsing, and validation rules. This ensures data consistency.

Declaring Custom Scalars

Defining a custom scalar in your schema is straightforward. You use the scalar keyword, followed by the name of your new scalar type.

Later, your Spring Boot application will need to provide the actual logic for handling this custom scalar's data transformations.

scalar Date

type Event {
  id: ID!
  name: String!
  eventDate: Date!
}

Enums for Fixed Values

Enum Types (short for 'enumeration') are special scalar types that represent a finite set of possible values. They're great for fields where you want to restrict choices to a predefined list.

Using enums makes your schema more self-documenting and helps prevent invalid data from being sent to your API.

Defining an Enum Type

For our library API, a book might have a specific status. We can define an enum for this:

enum BookStatus {
  AVAILABLE
  CHECKED_OUT
  LOST
  REPAIR
}

Now, any field using BookStatus can only have one of these four values.

Combining Your Custom Types

Let's update our Book type to use our new BookStatus enum and a custom Date scalar.

scalar Date

enum BookStatus {
  AVAILABLE
  CHECKED_OUT
  LOST
}

type Book {
  id: ID!
  title: String!
  author: String
  publicationYear: Int
  status: BookStatus!
  lastCheckedOut: Date
}

This shows how custom types build a richer, more precise schema.

Check Your Understanding

Which of the following statements about GraphQL custom data types are TRUE?

Recap: Your Data's Foundation

You've learned how to define custom data types in GraphQL using SDL!

  • Object Types (type) structure complex data.
  • Custom Scalar Types (scalar) handle specific data formats.
  • Enum Types (enum) restrict field values to a finite set.

These tools are crucial for building a precise and robust GraphQL schema that accurately represents your application's domain.

เริ่มต้นได้ฟรี

เรียนรู้ GraphQL APIs with Spring Boot ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
12
บทเรียน
48

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

บทเรียน “การกำหนดชนิดข้อมูลแบบกำหนดเอง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การกำหนดชนิดข้อมูลแบบกำหนดเอง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส GraphQL APIs with Spring Boot ให้อัปเกรดเป็น CoddyKit PRO คอร์ส GraphQL APIs with Spring Boot มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดชนิดข้อมูลแบบกำหนดเอง”

สร้างชนิดออบเจ็กต์ ชนิดสเกลาร์ และ enum แบบกำหนดเองในสคีมา GraphQL เพื่อแทนข้อมูลของแอปพลิเคชัน คุณปฏิบัติ GraphQL APIs with Spring Boot ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน GraphQL APIs with Spring Boot หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน GraphQL APIs with Spring Boot บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การกำหนดชนิดข้อมูลแบบกำหนดเอง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน GraphQL APIs with Spring Boot นี้ได้ไหม

ได้ บทเรียน GraphQL APIs with Spring Boot ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การกำหนดชนิดข้อมูลแบบกำหนดเอง
  2. การนำตัวแก้ข้อมูลมาใช้
  3. การเรียกใช้คิวรี GraphQL อย่างง่าย
  4. มิวเทชัน GraphQL: การเปลี่ยนแปลงข้อมูล
← กลับไปที่ GraphQL APIs with Spring Boot