Bỏ qua để đến nội dung

Mô hình, enum và thuộc tính

Các mô hình mô tả dữ liệu của API của bạn. Một mô hình mang các thuộc tính có kiểu, và các thuộc tính này có thể tham chiếu đến những mô hình khác hoặc các enum.

Phần Mô hình: danh sách thuộc tính của một mô hình với kiểu, cờ và một ví dụ của chúng

Một enum là một tập giá trị đóng (ví dụ một trạng thái draft / published / archived). Một thiết kế xử lý chúng theo hai cách:

  • Enum có tên — tái sử dụng được, hạng nhất. Từ phần Enum, dùng Thêm một enum, đặt cho nó một tên và một mô tả, rồi Thêm một giá trị cho mỗi mục. Một thuộc tính (hoặc một tham số tuyến) sau đó tham chiếu nó theo kiểu.
  • Enum nội tuyến (inline) — một tập ẩn danh được khai báo trực tiếp trên một thuộc tính. Trên một thuộc tính string / integer / number, trình chỉnh sửa dạng huy hiệu Giá trị enum cho phép bạn liệt kê các giá trị được phép ngay tại chỗ, mà không cần tạo một kiểu có tên.

Khi một enum nội tuyến đáng được chia sẻ, Trích xuất thành enum có tên sẽ nâng cấp nó: nó tạo enum có tên (tái sử dụng một enum hiện có với cùng các giá trị, để tránh trùng lặp) và viết lại thuộc tính để nó tham chiếu enum đó. Các tham số tuyến cũng mang các enum nội tuyến và cùng hành động Trích xuất — xem Tuyến & CRUD.

Trong phần Mô hình, chọn một mô hình: các thuộc tính của nó hiển thị trong một bảng (Thuộc tính, Kiểu, Cờ, Ví dụ). Dùng Thêm một thuộc tính để tạo một thuộc tính.

Một thuộc tính có thể thuộc kiểu:

  • một kiểu nguyên thủy: string, integer, number, boolean;
  • một mảng (array<…>) hoặc một map (map<…>) của một kiểu khác;
  • một tham chiếu đến một mô hình khác;
  • một tham chiếu đến một enum.

Với một string, bạn có thể chỉ định một định dạng: email, uuid, date, date-time, uri, hostname, ipv4, password hoặc byte.

Ngoài kiểu, một thuộc tính chấp nhận nhiều trường: Mô tả, Ví dụ, Giá trị mặc định, Tối thiểu / Tối đa, Độ dài tối thiểu / Độ dài tối đa, Mẫu (regex), Thông báo ngừng dùng, và — đối với các tham chiếu — một hành vi On delete.

Các cờ định tính thuộc tính và hiển thị dưới dạng huy hiệu: bắt buộc, nullable, duy nhất, bất biến, searchable (tra cứu được — xem Tuyến & CRUD), ngừng dùng, chỉ đọc, chỉ ghi, và PII (dữ liệu cá nhân).

Mỗi mô hình có các thiết lập riêng:

  • Danh tính — thuộc tính định danh và chiến lược sinh của nó (uuid, autoIncrement hoặc ulid). Chính định danh này được liên kết với các tham số {{id}} của các tuyến được sinh.
  • Kế thừa — một mô hình có thể kế thừa từ một mô hình cha; con hiển thị các thuộc tính của cha ở chế độ chỉ đọc, cộng thêm các thuộc tính của chính nó.
  • Lưu trữ & vòng đời — dung lượng dự kiến, dấu thời gian (created / updated) và xóa mềm (soft delete).

Cũng từ các thiết lập này mà ta khởi chạy Sinh CRUD và Sinh các tuyến tìm kiếm — được mô tả ở trang tiếp theo.