본문 바로가기

Tip

PostMan으로 gRPC요청 하기

최근에 gRPC를 통한 서버간 통신을 구현해보기 위해 Spring Boot로 gRPC서버를 구현해 보았습니다.일반적으로 http 프로토콜을 통한 Rest Api를 테스트할때는 여러 방법이 있지만 그중 많이 사용한 툴은 PostMan인데 gRPC또한 PostMan으로 테스트가 가능하더군요. 그래서 오늘은 간략하게 PostMan을 통한 gRPC통신을 하는 방법을 공유해볼까 합니다.
 

application.yml

grpc:
  server:
    port: 5043

먼저 Spring Boot  gRPC 서버 환경은 다음과 같습니다. gRPC 프로토콜 포트는 5043입니다.

delivery.proto

syntax = "proto3";

option java_multiple_files = true;
option java_package = "com.example.msatwo";

service DeliveryService {
  rpc requestDelivery (RequestDelivery) returns (ResponseDeliveryInfo) {}
}

message RequestDelivery {
  int64 orderInfoId = 1;
  string deliveryAddress = 2;
}

message ResponseDeliveryInfo {
  int64 deliveryId = 1;
}

gRPC service proto 구성정보는 다음과 같습니다.

먼저 Postman을 실행한후 New항목을 클릭해 줍니다.

New항목을 클릭하면 다음과같은창이 활성화되는데 오늘 사용할 프로토콜 gRPC를 선택해 줍니다.

gRPC를 선택하면 gRPC를 요청을 보낼 수 있는 탭이 활성화 되는데 가장먼저해야할 부분은 proto파일을 통해 서비스 구성정보를 알려주는것 입니다. Spring Boot의 사용하고자 하는 gRPC Service구성정보를 파일로 등록해 줍니다.

요청울 하고자 하는 gRPC Service proto 구성정보파일을 등록해 줍니다.

proto파일을 통해 구성정보를 등록하면 사용할 수 있는 메소드를 확인할 수 있는데 porto파일에 명시되어있는 method를 확인할 수 있습니다.

구성정보를 등록한후 gRPC 서버의 도메인을 입력해 줍니다. 로컬 테스트이기 때문에 localhost를 입력해주소 포트번호는 Spring Boot yml  gRPC포트설정에 따라 5043을 입력해 줍니다.

proto file, Method, Domein설정이 끝났다면 요청시 보낼 Message를 설정할 수 있습니다. JSON형태로 보내시면 됩니다.

모든 설정을 마치고 Invoke버튼을 누르면 gRPC서버로 요청이 보내지고 응답결과를 아래 창에서 확인하실 수 있습니다.