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

gRPC

Nhấp chuột phải trong cây ▸ Thêm ▸ Yêu cầu gRPC.

Một tab gRPC: địa chỉ máy chủ, kiểu lời gọi “Đơn”, đường dẫn dịch vụ/phương thức đã giải quyết, thông điệp yêu cầu ở dạng JSON và phần metadata

TrườngVai trò
URLhost:port của máy chủ
Dịch vụ / Phương thứcDịch vụ và RPC được gọi
Kiểu lời gọiunary, server-stream, client-stream, bidirectional-stream
Thông điệp yêu cầuThông điệp, ở dạng JSON
MetadataCác cặp khóa / giá trị truyền kèm lời gọi (thông tin đăng nhập đi qua đây)

Định nghĩa dịch vụ đến từ đâu

Section titled “Định nghĩa dịch vụ đến từ đâu”

Có ba nguồn, theo thứ tự ưu tiên:

  1. một bộ descriptor lấy được qua phản chiếu máy chủ — đây là thứ mà việc nhập bằng phản chiếu tạo ra, và nó thắng phần còn lại;
  2. nội dung .proto nội tuyến, lưu trong dự án;
  3. một đường dẫn tới một tệp .proto trên ổ đĩa.

Lựa chọn đầu tiên có một hệ quả thực tế quan trọng: một yêu cầu được nhập bằng phản chiếu vẫn tiếp tục hoạt động khi ngoại tuyến, không cần máy chủ có thể liên lạc được.

Từ hộp thoại nhập gRPC, hãy chỉ ra host:port: Restorm hỏi dịch vụ phản chiếu, tải các descriptor về và dựng nên cây — một thư mục cho mỗi dịch vụ, một yêu cầu cho mỗi RPC, kèm một thông điệp ví dụ.

Việc kết nối lại tới cùng một địa chỉ được nhận diện là một lần đồng bộ lại và cập nhật cây hiện có thay vì nhân đôi nó.

Nếu máy chủ không triển khai cơ chế phản chiếu, Restorm sẽ nói rõ điều đó: khi ấy hãy nhập tệp .proto. Xem Nhập một tệp .proto gRPC.

Có ba phương thức truyền tải:

Truyền tảiKhi nào dùng
grpc (mặc định)gRPC gốc trên HTTP/2
grpc-webMáy chủ nằm sau một proxy gRPC-Web
connectMáy chủ Connect-RPC

Với cả ba chế độ luồng, bảng phản hồi hiển thị các thông điệp theo thời gian thực. Trong một kịch bản, hãy dùng các hành động Kết nối gRPC, Gửi gRPCĐóng kết nối gRPC: kết nối được giữ mở giữa các hộp, mỗi thông điệp nhận được đều phát ra một sự kiện, và việc đóng sẽ thực hiện nửa lượt đóng ở phía client.

Restorm biết cách lưu trữ một máy chủ gRPC giả lập: một danh sách các phương thức được giả lập, mỗi phương thức có thông điệp phản hồi riêng (một mảng JSON cho một luồng), mã trạng thái, metadata kết thúc, hoặc một script. Cơ chế phản chiếu máy chủ được cung cấp mặc định, và TLS có thể cấu hình bằng chứng chỉ và khóa ở định dạng PEM. Xem Giả lập một API gRPC.

Mười bốn đích: grpcurl, grpc_cli, grpcurl ở chế độ gRPC-Web, curl ở chế độ Connect-RPC, JavaScript và TypeScript (@grpc/grpc-js), Python (grpcio), Go, Java (grpc-java), C# (Grpc.Net.Client), Ruby, Rust (tonic), Kotlin (grpc-kotlin), Swift (grpc-swift).