gRPC
트리에서 마우스 오른쪽 버튼 클릭 ▸ 추가 ▸ gRPC 요청.

| 필드 | 역할 |
|---|---|
| URL | 서버의 host:port |
| 서비스 / 메서드 | 호출할 서비스와 RPC |
| 호출 유형 | unary, server-stream, client-stream, bidirectional-stream |
| 요청 메시지 | JSON 형식의 메시지 |
| 메타데이터 | 호출과 함께 전달되는 키 / 값 쌍(인증 정보가 지나가는 곳입니다) |
서비스 정의는 어디에서 오는가
Section titled “서비스 정의는 어디에서 오는가”가능한 소스는 세 가지이며, 우선순위는 다음과 같습니다.
- 서버 리플렉션으로 얻은 디스크립터 세트. 리플렉션 가져오기가 남기는 것이 바로 이것이며, 다른 무엇보다 우선합니다.
- 프로젝트에 저장된 인라인
.proto내용. - 디스크에 있는
.proto파일 경로.
첫 번째 선택지에는 실용적으로 중요한 결과가 하나 따라옵니다. 리플렉션으로 가져온 요청은 서버에 연결할 수 없어도 오프라인에서 계속 동작합니다.
리플렉션으로 가져오기
Section titled “리플렉션으로 가져오기”gRPC 가져오기 대화 상자에서 host:port 를 입력하십시오. Restorm이 리플렉션
서비스에 질의해 디스크립터를 읽어 들이고 트리를 구성합니다. 서비스마다 폴더
하나, RPC마다 예시 메시지가 담긴 요청 하나가 생깁니다.
같은 주소로 다시 연결하면 재동기화로 인식되어, 기존 트리를 복제하는 대신 갱신합니다.
서버가 리플렉션을 구현하지 않은 경우 Restorm이 그 사실을 분명히 알려 줍니다.
그때는 .proto 를 가져오십시오.
gRPC .proto 가져오기를 참고하십시오.
세 가지 전송 방식을 쓸 수 있습니다.
| 전송 방식 | 사용 시점 |
|---|---|
grpc(기본값) | HTTP/2 위의 순수 gRPC |
grpc-web | gRPC-Web 프록시 뒤에 있는 서버 |
connect | Connect-RPC 서버 |
스트리밍 호출
Section titled “스트리밍 호출”세 가지 스트리밍 모드 모두, 응답 패널에 메시지가 도착하는 대로 표시됩니다. 시나리오에서는 gRPC connect, gRPC send, gRPC 연결 닫기 액션을 사용하십시오. 연결은 박스 사이에서 계속 열린 상태로 유지되고, 수신한 메시지마다 이벤트가 하나씩 발생하며, 닫기는 클라이언트 측 half-close를 수행합니다.
Restorm은 모의 gRPC 서버를 호스팅할 수 있습니다. 모의 메서드 목록을 두고, 메서드마다 응답 메시지(스트림이라면 JSON 배열), 상태 코드, 종료 메타데이터 또는 스크립트를 지정합니다. 서버 리플렉션은 기본으로 노출되며, TLS는 PEM 형식의 인증서와 키로 설정할 수 있습니다. gRPC 서비스 모의하기를 참고하십시오.
코드 스니펫
Section titled “코드 스니펫”14 가지 대상이 있습니다. grpcurl, grpc_cli, gRPC-Web 용 grpcurl,
Connect-RPC 용 curl, JavaScript와 TypeScript(@grpc/grpc-js),
Python(grpcio), Go, Java(grpc-java), C#(Grpc.Net.Client), Ruby, Rust(tonic),
Kotlin(grpc-kotlin), Swift(grpc-swift)입니다.