8 Haziran 2021 Salı

gRPC Service

Kendi Servisimiz
proto dosyasındaki Servisin ismi Foo olsun. Kod üretildikten sonra kendi servisimiz şu şekilde kalıtır. FooGrpc üretilen koda ait bir "naming convention"
FooImpl extends FooGrpc.FooImplBase {...}
Eğer cevap döneceksek şöyle yaparız
responseObserver.onNext();
responseObserver.onCompleted();
Eğer hata varsa şöyle yaparız
responseObserver.onError()
Veri Tipleri
Protobuf dosyasında bytes olarak tanımlı bir alanı String'e çevirmek için com.google.protobuf.ByteString kullanılır

Unary Service
gRPC Unary Service yazısına taşıdım

Örnek - Bi-Directional
Şöyle yaparız
@Override
public StreamObserver<UserDetailsRequest> generateRandomUserStream(
StreamObserver<UserDetailsResponse> responseObserver) {
  return new StreamObserver<UserDetailsRequest>() {
    @Override
    public void onNext(UserDetailsRequest input) {
      UserDetailsResponse output = ...;
      responseObserver.onNext(output);
    }
    @Override
    public void onError(Throwable throwable) {
      ...
    }
    @Override
    public void onCompleted() {
      responseObserver.onCompleted();
    }
  };
}

Hiç yorum yok:

Yorum Gönder