Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

YAML là gì? Hướng dẫn cho người mới bắt đầu

Khám phá sức mạnh và tính linh hoạt của YAML, một ngôn ngữ tuần tự hóa dữ liệu dễ đọc cho con người, được sử dụng trong phát triển API, tệp cấu hình và nhiều hơn nữa. Bài viết này giải thích YAML và tìm hiểu các ứng dụng thực tiễn của nó với những ví dụ cụ thể.

Minh Triết

Minh Triết

Updated on tháng 11 29, 2024

Vì vậy, bạn có lẽ đã nghe thấy thuật ngữ "YAML" được sử dụng trong các lĩnh vực công nghệ, nhưng nó thực sự là gì? Hãy để tôi giải thích cho bạn theo cách dễ hiểu.

Giới thiệu về YAML

YAML, viết tắt của "YAML Ain't Markup Language" (đúng vậy, đây là một từ viết tắt đệ quy – phải yêu thích điều đó!), là một ngôn ngữ tuần tự hóa dữ liệu dễ đọc cho con người. Nói một cách đơn giản, nó là một cách để biểu diễn dữ liệu theo định dạng có cấu trúc, dễ đọc.

Bây giờ, bạn có thể đang nghĩ, "Chờ đã, không phải điều đó giống như JSON hay XML sao?" Bạn đang đi đúng hướng, nhưng YAML có một vài thủ thuật mà khiến nó thân thiện hơn với người dùng. Khác với JSON, có thể trở nên rối rắm với tất cả những dấu ngoặc nhọn và dấu phẩy, YAML sử dụng thụt lề và khoảng trắng để chỉ định cấu trúc. Và khác với XML, có thể cảm thấy như một mớ bùng nhùng của các dấu ngoặc vuông, YAML thì sạch sẽ, gọn gàng và dễ chịu cho mắt.

Tại sao YAML lại quan trọng

Vậy, tại sao bạn nên quan tâm đến YAML? Đầu tiên, nó cực kỳ linh hoạt. YAML được sử dụng trong đủ loại ứng dụng, từ các tập tin cấu hình cho phần mềm như Kubernetes và Ansible đến định dạng trao đổi dữ liệu cho các API và nhiều hơn nữa.

Nói về các API, YAML đóng vai trò quan trọng trong thế giới phát triển API. Nó thường được sử dụng để xác định cấu trúc của các yêu cầu và phản hồi API, giúp cho các nhà phát triển dễ dàng hợp tác và đảm bảo tính nhất quán giữa các phần khác nhau của một ứng dụng.

Nhưng tính hữu dụng của YAML không dừng lại ở đó. Nó cũng là một lựa chọn phổ biến để định nghĩa hạ tầng như mã (IaC) và tự động hóa quy trình triển khai. Các công cụ như Terraform và Ansible phụ thuộc nhiều vào YAML cho các tập tin cấu hình của chúng, cho phép đội ngũ vận hành tối ưu hóa quy trình làm việc và duy trì tính nhất quán giữa các môi trường khác nhau.

Thực hành với YAML

Rất tốt, bây giờ bạn đã hiểu tại sao YAML lại quan trọng, hãy cùng đi sâu vào cú pháp một chút. Đừng lo; nó đơn giản hơn bạn nghĩ rất nhiều.

Các tập tin YAML thường có phần mở rộng .yml hoặc .yaml, và chúng được cấu trúc bằng cách thụt lề và khoảng trắng. Đây là một ví dụ cơ bản:

# Đây là một bình luận
person:
  name: Alice
  age: 30
  hobbies:
    - đọc sách
    - đi bộ đường dài
    - lập trình

Bạn thấy nó dễ đọc như thế nào không? Khóa person có ba khóa con: name, age, và hobbies. Khóa hobbies chứa một danh sách các giá trị, được chỉ định bởi ký hiệu -.

Một trong những điều thú vị nhất về YAML là nó hỗ trợ các kiểu dữ liệu khác nhau ngay từ đầu, bao gồm chuỗi, số, boolean, và thậm chí cả giá trị null. Bạn cũng có thể lồng ghép các cấu trúc dữ liệu sâu như bạn muốn, khiến cho việc biểu diễn các hệ thống dữ liệu phức tạp trở nên dễ dàng.

Các ví dụ thực tế về YAML trong công việc

Bây giờ mà bạn đã nắm được những điều cơ bản, hãy cùng xem một số ví dụ thực tế về cách YAML được sử dụng.

Đầu tiên, hãy xem Kubernetes, nền tảng điều phối container phổ biến. Kubernetes phụ thuộc nhiều vào YAML cho các tập tin cấu hình của nó, định nghĩa mọi thứ như triển khai, dịch vụ và quy tắc truy cập. Đây là một ví dụ đơn giản về bản khai triển khai của Kubernetes:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: my-app:latest
        ports:
        - containerPort: 8080

Tập tin YAML này định nghĩa một triển khai với ba bản sao của một container gọi là my-app, xác định hình ảnh để sử dụng và cổng để mở.

Kế tiếp, hãy xem cách YAML được sử dụng trong phát triển API. OpenAPI (trước đây được gọi là Swagger) là một thông số phổ biến để mô tả các API RESTful, và nó sử dụng YAML (hoặc JSON) để định nghĩa cấu trúc của API. Đây là một ví dụ đơn giản:

openapi: 3.0.0
info:
  title: API mẫu
  version: 1.0.0
paths:
  /users:
    get:
      summary: Liệt kê tất cả người dùng
      responses:
        '200':
          description: Phản hồi thành công

Đoạn YAML này định nghĩa một thông số OpenAPI cơ bản với một điểm cuối duy nhất (/users) và một thao tác GET trả về danh sách người dùng.

APIs trong YAML

Định dạng tập tin YAML đặc biệt quan trọng trong bối cảnh của các API vì một số lý do:

Dễ đọc cho con người: Thiết kế của YAML ưu tiên tính dễ đọc cho con người, làm cho nó trở thành một lựa chọn tuyệt vời để viết các tập tin cấu hình định nghĩa cấu trúc API. Tính khả đọc này đảm bảo rằng các nhà phát triển có thể dễ dàng hiểu và chỉnh sửa các thông số API.

Cấu trúc và mối quan hệ: YAML tự nhiên thể hiện dữ liệu phân cấp, điều này rất phù hợp với cấu trúc lồng nhau của các điểm cuối API và các thao tác, tham số, và phản hồi liên quan của chúng.

Hỗ trợ đa ngôn ngữ: Trong khi YAML được liên kết chặt chẽ với một số ngôn ngữ (như Ruby), nó độc lập ngôn ngữ và có thể được sử dụng với bất kỳ ngôn ngữ lập trình nào có thư viện YAML, giúp nó trở nên linh hoạt cho các định nghĩa API.

Tương thích với JSON: YAML là một tập hợp con của JSON, điều này có nghĩa là bất kỳ tập tin JSON nào cũng là một tập tin YAML hợp lệ. Sự tương thích này cho phép chuyển đổi liền mạch giữa hai định dạng, điều này hữu ích vì JSON là một định dạng phổ biến cho các payload API.

Thông số OpenAPI: YAML thường được sử dụng cùng với Thông số OpenAPI (OAS), là một tiêu chuẩn được áp dụng rộng rãi để mô tả các API RESTful. Các tài liệu OAS viết bằng YAML cung cấp một cách rõ ràng, ngắn gọn để mô tả toàn bộ API, bao gồm các điểm cuối, tham số và phương thức xác thực.

Hỗ trợ công cụ: Nhiều công cụ phát triển API hỗ trợ nhập và xuất các tập tin YAML. Sự hỗ trợ này giúp cho nhiều giai đoạn của vòng đời API, từ thiết kế và tài liệu đến kiểm tra và triển khai.

Về cơ bản, định dạng YAML phục vụ như một bản thiết kế cho các API, định nghĩa các quy tắc và cấu trúc mà các API tuân theo. Nó đóng vai trò quan trọng trong quá trình phát triển API, cho phép các nhà phát triển tạo ra các định nghĩa API rõ ràng, dễ bảo trì và có khả năng mở rộng.

Apidog hỗ trợ YAML

Apidog là một công cụ hỗ trợ thiết kế và gỡ lỗi API. Nó cho phép các nhà phát triển tạo ra các API nhanh chóng, định nghĩa thông tin liên quan đến API và xử lý các tham số yêu cầu và phản hồi.

button

Việc sử dụng YAML cho cấu hình và biểu diễn dữ liệu tạo ra một môi trường vững chắc cho việc phát triển và kiểm tra API. YAML giúp bạn cấu hình môi trường phát triển và kiểm tra của mình, định nghĩa dữ liệu thử nghiệm và quản lý các cài đặt khác nhau.

Quy trình làm việc của Apidog

Nếu bạn đang làm việc với các API, Apidog có thể rất hữu ích vì nó cung cấp giao diện hình ảnh để gửi yêu cầu và hỗ trợ việc sử dụng dữ liệu giả để gỡ lỗi API.

Nhập API vào Apidog bằng cách sử dụng YAML

  1. Mở Apidog và điều hướng đến dự án mà bạn muốn nhập các API.
Giao diện workspace của Apidog

2. Đi đến Cài đặt và nhấp vào “Nhập dữ liệu”.

Nhập dữ liệu từ cài đặt

3. Chọn “Nhập tập tin” nếu bạn có tập tin YAML trên hệ thống của mình. Bạn có thể kéo và thả tập tin vào khu vực đã chỉ định hoặc nhấp vào khu vực để mở trình quản lý tập tin và chọn tập tin của bạn.

Nhập tập tin YAML

4. Nếu bạn có tập tin lưu trữ trực tuyến, chọn “Nhập URL” và cung cấp URL của tập tin dữ liệu YAML.

Nhập YAML từ URL

Apidog sẽ sau đó hiện cho bạn Cài đặt nâng cao nơi bạn có thể cấu hình Chế độ bao phủ API và quyết định liệu có nhập vào một nhóm cụ thể hay bao gồm các trường hợp thử nghiệm API.

Xem trước nhập khẩu

Kết luận

Như bạn thấy, YAML là một ngôn ngữ tuần tự hóa dữ liệu linh hoạt và thân thiện với người dùng đóng vai trò quan trọng trong nhiều lĩnh vực phát triển và vận hành phần mềm. Từ việc cấu hình các hệ thống phức tạp như Kubernetes đến việc định nghĩa các API và tự động hóa quy trình triển khai, sự đơn giản và khả năng đọc của YAML khiến nó trở thành sự lựa chọn hàng đầu cho nhiều nhà phát triển và đội ngũ vận hành.

Vì vậy, dù bạn chỉ mới bắt đầu trong thế giới công nghệ hay bạn là một chuyên gia dày dạn kinh nghiệm, việc học YAML là một khoản đầu tư đáng giá. Đây là một ngôn ngữ sẽ tồn tại lâu dài, và khi ngày càng nhiều công cụ và khung thiết kế áp dụng nó, tầm quan trọng của nó sẽ chỉ tiếp tục tăng lên.

button