Các giao diện lập trình ứng dụng (API) là một trong những công nghệ nền tảng thúc đẩy thế giới kết nối của chúng ta. Chúng cho phép các chương trình giao tiếp với nhau dù được viết bằng các ngôn ngữ khác nhau, giúp trình duyệt lấy dữ liệu cần thiết để hiển thị trang web cho người dùng, và giúp các nhà phát triển tạo tiện ích mở rộng Chrome hoặc các công cụ khác mà không cần truy cập trực tiếp vào mã nguồn của chương trình mà họ đang yêu cầu dữ liệu.
Tuy nhiên, API không chỉ giới hạn ở các nguồn được lưu trữ bởi các công ty khác. Hầu hết các dịch vụ tự host (self-hosted services), như Home Assistant, đều cung cấp API để bạn có thể xây dựng các tự động hóa và bảng điều khiển của riêng mình mà không cần sửa đổi mã nguồn của phiên bản HA. Cách duy nhất để biết các lệnh gọi API đó được xử lý đúng cách là kiểm thử chúng, và đó là lúc các client API phát huy tác dụng. Postman có lẽ là công cụ nổi tiếng nhất, nhưng cấu trúc dựa trên đám mây hạn chế và hệ thống quản lý phiên bản độc quyền của nó lại đi ngược lại với triết lý tự host. Sẽ thế nào nếu bạn có thể kiểm thử API ngay từ máy tính của mình mà không cần đám mây, và tất cả các ví dụ đã kiểm thử của bạn có thể nằm gọn trong kho lưu trữ Git của mã nguồn đó? Bruno chính là công cụ giúp bạn làm điều đó, và với biểu tượng là một chú chó đáng yêu, thật khó để không bị thuyết phục.
Thiết bị mạng cho hệ thống tự host: Router TP-Link, máy tính nhúng Radxa X4, router mesh D-Link và switch Zyxel
Bruno – Công Cụ Kiểm Thử API Lý Tưởng Cho Hệ Thống Tự Host
Kiểm Thử API Không Giới Hạn, Đảm Bảo Tính Chính Xác
Dù bạn đang thử nghiệm các thiết bị thông minh để tìm cách nhập chúng vào Home Assistant khi chúng chưa có tích hợp, hay xây dựng một hệ thống giám sát với Grafana và InfluxDB, API đều có mặt ở khắp mọi nơi. Bạn có thể sử dụng chúng để kéo thông tin từ các trang web, lấy thông tin thời tiết, kết quả thể thao, hoặc bất kỳ thông tin cần thiết nào khác. API cũng giúp bạn thiết lập các bảng điều khiển để giám sát hoặc xâu chuỗi một script gọi API để sử dụng dữ liệu đó cho các mục đích khác.
Nhưng để biết liệu các lệnh gọi API của bạn có hoạt động hay không, bạn cần một cách kiểm thử hiển thị chức năng trả về và mức độ bảo mật của nó. Các công cụ kiểm thử API như Bruno cho phép bạn thiết lập các API mà bạn gọi, sau đó viết các script kiểm thử bằng JavaScript để mô phỏng hành vi của người dùng. Nó cũng có thể liên kết với GitHub Actions và các nền tảng khác, giúp bạn tự động hóa quá trình kiểm thử, một tính năng hoàn hảo cho các codebase lớn và phức tạp.
Mặc dù Bruno có các gói đăng ký trả phí để có thêm chức năng nâng cao, nhưng tôi vẫn có thể sử dụng bản miễn phí một cách rất hiệu quả. Với bản miễn phí, bạn sẽ nhận được:
- Các loại API Client: HTTP, Rest, GraphQL
- Kiểm thử và Tài liệu: Testing, Documentation
- Chức năng khác: Scripting, Auth, Secret Management, Code Generation
- Tích hợp Git
- Nhập OAS (OpenAPI Specification)
Tất nhiên, bạn có thể nhập môi trường Postman của mình để truy cập chúng từ đám mây và đưa về máy tính cá nhân. Xuất từ Postman sẽ cung cấp cho bạn một tệp JSON, mà bạn có thể nhập vào Bruno chỉ trong một bước. Các gói đăng ký trả phí có thể nhập một bản sao dữ liệu đầy đủ từ Postman, điều này sẽ rất tiện lợi cho các nhóm lớn hơn. Tuy nhiên, đối với nhiều nhà phát triển tự host với các bộ sưu tập API nhỏ hơn, việc này không quá cần thiết, và họ sẽ dễ dàng chuyển đổi từ cấu trúc độc quyền của Postman sang Bruno.
Giao diện ứng dụng Bruno hiển thị các yêu cầu và phản hồi khi kiểm thử API
Hoạt Động Cục Bộ, Không Phụ Thuộc Vào Đám Mây
Điểm hấp dẫn lớn nhất của Bruno không phải là sự đơn giản của môi trường phát triển tích hợp (IDE) hay cách sự đơn giản đó có thể xây dựng nên một thứ mạnh mẽ. Mà đó là việc bạn hoàn toàn kiểm soát dữ liệu của mình, cho dù nó được lưu trữ trên máy tính cục bộ hay trong kho lưu trữ Git của codebase liên quan. Việc giữ nó trong cùng một repo cung cấp cho bất kỳ nhà phát triển mới nào của mã nguồn đó một bản ghi có thể xem ngay lập tức về cách API nên hoạt động, với các điểm cuối, kết quả mong đợi, và nhiều hơn nữa, để họ không phải phân tích mã nguồn khi mới bắt đầu.
Logo ứng dụng Bruno, một công cụ kiểm thử API miễn phí và mã nguồn mở
Đơn Giản Hóa Quá Trình Gỡ Lỗi Với Bruno
Trợ Lý Đắc Lực Cho Home Assistant Của Bạn
Tôi đã sử dụng Bruno để tìm hiểu cách tương tác với phiên bản Home Assistant của mình. Tất cả các API đó đều sử dụng khóa API bí mật cho HA của tôi, vì vậy tôi không thể chia sẻ ảnh chụp màn hình. Nhưng tôi đã tạo một bộ sưu tập kiểm thử và một số lệnh gọi GET và POST đơn giản đến httpbin để minh họa việc sử dụng Bruno dễ dàng như thế nào để thiết lập thư viện API bạn sử dụng cho các dịch vụ của mình và kiểm thử chúng để có phản hồi mong muốn.
Thành thật mà nói, tôi không biết tại sao trước đây tôi lại làm theo cách khó khăn: mã hóa các yêu cầu một cách thủ công. Với Bruno, tôi có thể thấy toàn bộ phản hồi, các tiêu đề được gửi, dòng thời gian của yêu cầu và phản hồi, cũng như kết quả của bất kỳ kiểm thử nào được thực hiện trên phản hồi API đó (nếu tôi có chạy, tôi chưa ở giai đoạn học đó). Tôi có thể thêm các tham số chỉ với vài cú nhấp chuột, chạy lại lệnh gọi API và xem kết quả tức thì của các thay đổi mà không cần phải viết mã để hiển thị phản hồi.
Tôi chưa bao giờ thực sự quan tâm đến “cái nhìn đằng sau bức màn” này. Ý tôi là, tôi biết cách API được sử dụng, và tôi đã làm một số phát triển web cơ bản ở trường đại học nhiều thập kỷ trước, nhưng sau khi sử dụng Home Assistant, tôi muốn mở rộng ngôi nhà thông minh của mình với các cảm biến tùy chỉnh và các thiết bị khác sử dụng ESPHome. Và thực sự, cách tốt nhất để làm điều đó là biết cách API hoạt động và những phần nào của nó tôi cần đưa vào bảng điều khiển HA để có thể dễ dàng kiểm soát những thứ tôi không cần hoặc không muốn tự động hóa.
Giao diện n8n đang hoạt động, một công cụ tự động hóa các tác vụ cho dịch vụ tự host
“Tạm Biệt” Postman: Bruno Đã Chứng Tỏ Giá Trị Của Mình
Tôi không thích việc phải phụ thuộc vào các dịch vụ đám mây để kiểm thử hoặc quản lý các dịch vụ tự host của mình, hoặc các API mà tôi có thể truy cập thông qua chúng. Đối với tôi, điều đó đi ngược lại ý nghĩa của việc tự host, và tôi không hiểu tại sao client API nổi tiếng nhất lại giữ kết quả gọi API của tôi trên đám mây. Bruno có thể chưa hoàn hảo, dựa trên danh sách các vấn đề trên GitHub, nhưng nó làm những gì tôi cần, trong khi vẫn nằm trên phần cứng của tôi, và đó là điều quan trọng. Có lẽ một ngày nào đó tôi sẽ đạt đến trình độ kiến thức vượt quá giới hạn của Bruno, nhưng cho đến lúc đó, nó là công cụ hoàn hảo để học cách API hoạt động và cách tôi có thể tận dụng chúng cho các tác vụ.
Màn hình laptop hiển thị lịch từ Nextcloud và Vivaldi, các lựa chọn thay thế tự host cho dịch vụ đám mây
Tóm lại, Bruno là một công cụ kiểm thử API mạnh mẽ và đáng tin cậy, đặc biệt phù hợp với những người đam mê tự host và các nhà phát triển mong muốn kiểm soát hoàn toàn dữ liệu của mình. Với khả năng hoạt động cục bộ, tích hợp Git liền mạch và các tính năng kiểm thử toàn diện, Bruno không chỉ là một giải pháp thay thế hiệu quả cho Postman mà còn là một trợ thủ đắc lực giúp bạn dễ dàng gỡ lỗi và mở rộng các ứng dụng của mình. Nếu bạn đang tìm kiếm một client API không phụ thuộc đám mây, tập trung vào quyền riêng tư và hiệu quả, Bruno chắc chắn là cái tên bạn nên trải nghiệm.
Hãy tải xuống Bruno ngay hôm nay và bắt đầu hành trình kiểm thử API của bạn một cách chủ động và an toàn hơn!