GUI에서 gRPC를 두드리는 도구 "omgRPC"를 사용해보기

6594 단어 도구gRPC
REST에서는 curl이나 Postman을 사용하여 URL을 두드리는 것만으로 간단하게 동작 확인할 수 있습니다.
반면에 gRPC에서는 그렇게 쉽게 동작을 확인할 수 없습니다.
클라이언트를 구현해야하기 때문입니다.

이러한 문제를 해결하기 위해 다양한 도구가 출시되었습니다.
예를 들어 "grpcurl"은 curl과 같이 터미널에서 gRPC를 실행할 수 있습니다.
$ grpcurl -plaintext -import-path . -proto proto/hello.proto -d '{"name": "Morix"}' localhost:5000 hel
lo.HelloService/Hello
{
  "message": "Hello, Morix"
}

이것은 이것으로 간단합니다만, 어차피라면 GUI로 포치포치 하고 싶은 곳입니다.
그래서 "omgRPC"이라는 도구를 찾았으므로 그 소개입니다.

omgRPC란?



그때까지 GUI에서 gRPC를 실행할 수 있는 도구입니다.
위의 grpcurl 예제에서 보여준 것을 omgRPC에서 실행하면 다음과 같습니다.


설치



우선 동작 확인 환경은 다음과 같이 되어 있습니다.
  • OS
  • macOS High Sierra

  • Node.js
  • 8.14.0
  • 10 계열에서는 작동하지 않았습니다



  • 절차



    npm이 필요하므로 Node.js는 위와 같이 8계에서 합시다.
    $ git clone [email protected]:troylelandshields/omgrpc.git && cd omgrpc
    $ npm install -g nwjs node-pre-gyp nw-gyp
    $ nw install 0.25.0-sdk
    $ npm install
    $ npm rebuild grpc --build-from-source --runtime=node-webkit --target=0.25.0 --target_arch=x64 --target_platform=darwin
    

    특히 아무런 오류가없는 사람은 다음 단계를 건너 뛰십시오.

    내 환경에서는 마지막 rebuild에서 다음과 같은 오류가 발생하여 실패했습니다.
    $ npm rebuild grpc --build-from-source --runtime=node-webkit --target=0.25.0 --target_arch=x64 --target_platform=darwin
    
    > [email protected] install /Users/morix/tools/omgrpc/node_modules/grpc
    > node-pre-gyp install --fallback-to-build --library=static_library
    
    xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
    
    xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
    

    분명히 Xcode를 사용하는 것 같습니다.
    Mac에 Xcode를 설치 한 후 다음 명령을 실행하고 다시 rebuild 그렇게하면 잘 작동했습니다!
    $ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
    

    사용법



    다음 명령으로 omgRPC가 시작됩니다.
    $ nw .
    

    시작하면 다음과 같은 화면이 나올 것입니다.


    오른쪽 상단의 "New Protofile"에 두드릴 gRPC 서비스의 proto 파일을 선택합니다.
    샘플은 다음을 사용해 보겠습니다.

    hello.proto
    syntax = "proto3";
    
    package hello;
    
    message HelloRequest {
      string name = 1;
    }
    
    message HelloResponse {
      string message = 1;
    }
    
    service HelloService {
      rpc Hello(HelloRequest) returns (HelloResponse) {}
    }
    

    서버와 같은 소스는 다음을 사용합니다. 참고로 사용해보십시오.
    htps : // 기주 b. 코 m/모리 x1500/grp-우우 b 긴긴 x

    proto를 선택하면 gRPC 서버의 주소를 묻습니다. 직접 설정한 곳을 선택합니다.
    Cluster는 minikube로 남아있어 괜찮습니다.
    "Hello"라는 탭이 있으며, 이것이 함수입니다. 함수별로 탭이 늘어납니다.



    Metadata를 설정할 수 있는 것 같습니다.
    또한 요청은 JSON 형식으로 보내야합니다. 그것도 어느 ​​정도는 사전에 입력해 줍니다.

    "Try Experimental Form"은 JSON이 아닌 다음과 같이 텍스트 필드에 입력할 수 있도록 해 줍니다.



    그리고 필요한 것을 입력하면 응답이 JSON으로 반환됩니다.


    간단하네요! ! !

    좋은 웹페이지 즐겨찾기