Trong Apidog, việc thiết kế và thiết lập một API endpoint là bước nền tảng để tạo ra các API mạnh mẽ và hiệu quả.Bạn nên thiết kế endpoint tuân thủ OpenAPI Specification (OAS) để bảo đảm khả năng tương thích trơn tru với nhiều công cụ và dịch vụ khác nhau trong hệ sinh thái OpenAPI. Việc đi chệch khỏi OAS có thể dẫn đến các vấn đề tương thích khi sử dụng các công cụ và dịch vụ tuân thủ OpenAPI.
Để tạo một endpoint mới trong mô-đun APIs, hãy nhấp vào nút New Endpoint.
Một endpoint rõ ràng và đầy đủ nên bao gồm các thành phần sau:
1.
Đường dẫn endpoint
2.
Phương thức yêu cầu
3.
Siêu dữ liệu endpoint
4.
Yêu cầu
5.
Phản hồi và ví dụ
Chế độ Design-first
Chế độ Request-first
Các chế độ giao diện
Giao diện endpoint của Apidog có hai chế độ: Design-first Mode dành cho cách tiếp cận API Design-first và Request-first Mode dành cho cách tiếp cận Code-first. Bạn có thể chuyển đổi chế độ ở góc dưới bên trái của giao diện. Tìm hiểu thêm về Design-first Mode/Request-first Mode.
Đường dẫn endpoint đóng vai trò là một địa chỉ cụ thể nơi API có thể tương tác với các ứng dụng bên ngoài. Đây là địa chỉ mà client sẽ sử dụng để truy cập dịch vụ API.
Apidog tuân theo cách tiếp cận của OpenAPI Specification. Thay vì viết URL đầy đủ cho từng endpoint, bạn chỉ cần nhập đường dẫn (ví dụ: /users). Base URL được thiết lập trong môi trường, và Apidog sẽ tự động thêm nó khi thực hiện yêu cầu đến endpoint.
Để nhất quán với tiêu chuẩn OpenAPI, Apidog cũng khuyến nghị bắt đầu tất cả đường dẫn bằng /. Điều này giúp thiết kế API của bạn sạch sẽ, có tổ chức và bảo đảm bạn tận dụng đầy đủ các tính năng của Apidog.
Tại sao nên bắt đầu đường dẫn bằng /
Nên bắt đầu đường dẫn bằng / để tuân thủ OAS. Việc không bắt đầu đường dẫn bằng / có thể dẫn đến nhiều vấn đề tương thích khi sử dụng các công cụ trong hệ sinh thái OpenAPI.
Ngoài ra, việc sử dụng / ở đầu đường dẫn cho phép sử dụng chức năng mock mẫu URL, vốn cần thiết cho mục đích kiểm thử và xác thực trong Apidog.
Phương thức yêu cầu xác định cách client tương tác với tài nguyên phía máy chủ. Mỗi phương thức mang ngữ nghĩa riêng và quy định phản hồi của máy chủ. Khi thiết kế API, hãy chọn phương thức yêu cầu phù hợp nhất dựa trên yêu cầu nghiệp vụ để thực hiện hiệu quả thao tác mong muốn.
Sau đây là các phương thức yêu cầu API thường được sử dụng:
Phương thức
Mô tả
GET
Truy xuất các tài nguyên được chỉ định mà không gây tác dụng phụ. Sử dụng tham số truy vấn để truyền dữ liệu.
POST
Gửi dữ liệu để xử lý và có thể gây tác dụng phụ. Dữ liệu thường được gửi trong body của yêu cầu.
PUT
Cập nhật hoặc thay thế toàn bộ các tài nguyên được chỉ định.
DELETE
Xóa các tài nguyên được chỉ định.
OPTIONS
Truy vấn các phương thức HTTP được tài nguyên đích hỗ trợ.
HEAD
Tương tự GET, nhưng chỉ truy xuất các header của phản hồi. Hữu ích để kiểm tra sự tồn tại và thay đổi của tài nguyên mà không cần tải xuống nội dung tài nguyên.
PATCH
Cập nhật một phần thông tin của các tài nguyên được chỉ định.
TRACE
Trả về yêu cầu mà máy chủ đã nhận. Chủ yếu được sử dụng cho mục đích gỡ lỗi và chẩn đoán.
CONNECT
Thiết lập một đường hầm đến máy chủ, thường được sử dụng để chuyển tiếp yêu cầu qua máy chủ proxy.
Trong Apidog, các endpoint có các trường siêu dữ liệu mặc định dùng để xác định và quản lý tài liệu, khả năng truy cập và vòng đời của API.
Dưới đây là tổng quan ngắn gọn về từng trường siêu dữ liệu mặc định:
Trường
Mô tả
Name
Tên mô tả nêu rõ chức năng của endpoint.
Status
Trạng thái mặc định là "Developing". Bạn có thể sửa đổi trạng thái này để phản ánh các giai đoạn khác nhau như Testing hoặc Production. Tìm hiểu thêm về Trạng thái endpoint.
Maintainer
Chỉ định thành viên nhóm Apidog chịu trách nhiệm cho endpoint. Chọn một người dùng từ tài khoản của bạn để gán vai trò này.
Tags
Từ khóa hoặc cụm từ dùng để phân loại hoặc mô tả endpoint. Bạn có thể tạo thẻ mới hoặc chọn từ các thẻ hiện có.
Service
Base URL mà đường dẫn endpoint được nối vào. Theo mặc định được đặt là "Inherit from parents", nhưng có thể được chỉ định thủ công thông qua cài đặt môi trường. Tìm hiểu thêm về Môi trường và dịch vụ.
OperationId
Một mã định danh duy nhất (operationId trong OAS) dùng để phân biệt thao tác này trong API.
Description
Thông tin chi tiết về mục đích và cách sử dụng endpoint, hỗ trợ Markdown để định dạng nâng cao.
Trường tùy chỉnh
Bên cạnh các trường siêu dữ liệu tiêu chuẩn được cung cấp cho một endpoint, bạn có thể linh hoạt thêm trường tùy chỉnh để làm phong phú thêm siêu dữ liệu của endpoint.
Query parameters là các cặp khóa-giá trị được thêm vào cuối URL sau dấu hỏi ?, và được phân tách bằng & như sau: ?id=2&status=available. Chúng được dùng để lọc, sắp xếp hoặc sửa đổi đầu ra của một API endpoint.
INFO
Trong Apidog, query parameters được mô tả trong một phần riêng để rõ ràng và có tổ chức. Tuy nhiên, khi gửi yêu cầu, các query parameters này sẽ được nối với đường dẫn endpoint theo cách đã mô tả ở trên.
Path parameters là một phần của chính URL endpoint và được sử dụng để xác định một tài nguyên hoặc thực thể cụ thể trong API.Trong Apidog, path parameters được biểu thị bằng dấu ngoặc nhọn thay vì dấu hai chấm. Ví dụ đúng: /pets/{id}, Ví dụ sai: /pets/:id.Nếu bạn cần sử dụng biến trong path parameter, cách tiếp cận được khuyến nghị là định nghĩa nó dưới dạng {parameter} trong URL, sau đó sử dụng {{variable}} cho giá trị tham số. Ví dụ:
Khuyến nghị: Đặt biến trong giá trị path parameter
Không khuyến nghị: Đặt biến trực tiếp trong URL
Không nhầm lẫn {parameter} và {{variable}}
{parameter}: Dấu ngoặc nhọn đơn biểu thị path parameters trong Apidog. Path parameters là các phần giữ chỗ trong đường dẫn URL, thay đổi động thành các giá trị cụ thể khi API endpoint được truy cập.
{{variable}}: Dấu ngoặc nhọn kép bao gồm các biến trong yêu cầu. Các biến này có thể được thay thế bằng giá trị thực khi yêu cầu được gửi, cho phép đầu vào động và có thể tùy chỉnh trong các tương tác API.
Tại sao KHÔNG nên sử dụng {{variable}} trong đường dẫn
Việc sử dụng {{variable}} không tuân thủ OAS. Tuân theo OAS cho phép tích hợp liền mạch với nhiều công cụ trong hệ sinh thái OpenAPI.
Việc sử dụng {{variable}} trong đường dẫn sẽ ngăn sử dụng chức năng mock mẫu URL trong Apidog.
Header parameters cung cấp thông tin bổ sung về yêu cầu đang được thực hiện và thường được sử dụng cho xác thực, loại nội dung và các siêu dữ liệu khác.
Body parameters chứa dữ liệu sẽ được gửi trong body của yêu cầu, thường được sử dụng trong các yêu cầu POST, PUT và PATCH để tạo hoặc cập nhật một tài nguyên. Dữ liệu thường được gửi ở định dạng JSON hoặc XML.
Tham số nên được mô tả bằng tên, kiểu (string, integer, boolean, v.v.), tính bắt buộc (bắt buộc hoặc tùy chọn), và bất kỳ giá trị mặc định hoặc ràng buộc nào.Khi mô tả tham số, các thuộc tính chính sau đây thường được sử dụng:
Thuộc tính
Mô tả
Name
Chỉ định tên của tham số đang được mô tả. Đây là trường bắt buộc và nên đại diện chính xác cho tham số đang được định nghĩa.
Type
Chỉ định kiểu dữ liệu của giá trị tham số. Các giá trị phổ biến bao gồm string, number, integer, boolean, array, object, và nhiều giá trị khác. Thuộc tính này giúp định nghĩa định dạng và cấu trúc của giá trị tham số.
Description
Cung cấp giải thích hoặc tài liệu ngắn gọn về tham số. Thuộc tính này giúp người dùng hiểu mục đích và cách sử dụng tham số.
Required
Chỉ định liệu tham số có bắt buộc đối với yêu cầu API hay không. Đây là giá trị boolean (true hoặc false) cho biết tham số có phải được bao gồm trong yêu cầu hay không.
Advanced Settings
Định nghĩa kiểu dữ liệu, định dạng và các ràng buộc của tham số. Thuộc tính này cho phép bạn cung cấp thông tin chi tiết về cấu trúc và nội dung mong đợi của giá trị tham số.
Type Editor
Bạn có thể sửa đổi hiệu quả các cài đặt nâng cao của tham số bằng Type Editor. Tìm hiểu thêm về Type Editor.
Sau khi gửi yêu cầu đến API, máy chủ trả về một phản hồi. Việc định nghĩa các phản hồi mong đợi và cung cấp các ví dụ minh họa là những bước quan trọng giúp tăng khả năng hiểu và khả năng sử dụng cho các nhà phát triển tương tác với API của bạn.
Định nghĩa phản hồi được trả về chủ yếu bao gồm các phần sau:
Thành phần
Mô tả
HTTP Status Code
Xác định tất cả các trạng thái phản hồi tiềm năng mà endpoint của bạn có thể trả về, bao gồm các phản hồi tiêu chuẩn như 200 (OK), 404 (Not Found), hoặc 500 (Server Error).
Data Format
Định nghĩa định dạng của phản hồi mà API sẽ trả về cho từng mã trạng thái. Định dạng này có thể là JSON, XML, HTML, Raw, Binary, hoặc bất kỳ định dạng phù hợp nào khác.
Schema
Đối với các phản hồi mang dữ liệu (chủ yếu là trạng thái 200), hãy nêu chi tiết cấu trúc của payload phản hồi. Điều này bao gồm việc chỉ định kiểu, đối tượng lồng nhau, trường tùy chọn và mảng. Các định nghĩa rõ ràng giúp nhà phát triển client hiểu dữ liệu cần mong đợi và cách phân tích dữ liệu đó. Chỉ JSON và XML mới có thể cấu hình schemas. Để biết thông tin chi tiết, xem Schemas.
Example
Việc cung cấp phản hồi ví dụ là điều cần thiết để minh họa cách API hoạt động trong các tình huống thực tế. Một ví dụ lý tưởng nên là tập dữ liệu mẫu được máy chủ trả về khi endpoint được gọi bằng một yêu cầu đã định nghĩa trước. Ví dụ đó nên phản ánh cấu trúc, định dạng dữ liệu và các kiểu như đã được định nghĩa bởi schema của phản hồi.
Nhìn chung, nên định nghĩa ít nhất một phản hồi thành công và một phản hồi lỗi cho mỗi endpoint trong tài liệu API của bạn. Thực hành này bảo đảm bao phủ toàn diện nhiều kết quả tiềm năng khác nhau, cung cấp cho nhà phát triển hiểu biết rõ ràng về cách API hoạt động trong các tình huống khác nhau.Nhấp vào nút + Add ở góc trên bên phải của mô-đun Responses để thêm phản hồi.
Thông thường trong thiết kế API, trong khi các phản hồi thành công 200 OK thường khác nhau giữa nhiều endpoint do nhu cầu dữ liệu đầu ra riêng biệt, các phản hồi lỗi như 400 Bad Request và 404 Not Found có xu hướng nhất quán giữa các endpoint khác nhau. Apidog xử lý điểm chung này một cách thông minh bằng tính năng Response Component, cho phép tái sử dụng các phản hồi lỗi đã định nghĩa trước, giúp quy trình lập tài liệu API hiệu quả hơn và hành vi API nhất quán hơn.
Nhấp vào "Add Example" để đưa các ví dụ phản hồi vào Apidog.Một phản hồi có thể chứa nhiều ví dụ đa dạng. Khi thêm ví dụ, hãy cung cấp tên cho ví dụ và dữ liệu phản hồi tương ứng.
Sau khi hoàn tất đặc tả endpoint, hãy nhấp vào "Save" để lưu các thay đổi của bạn. Sau đó, chuyển sang tab "API" để xem trước endpoint bạn vừa cấu hình.