Skip to content

gRPC ​

EasyYapi supports exporting API documentation from gRPC service implementations.

Overview ​

gRPC support can automatically recognize gRPC service classes and extract:

  • gRPC service path (/<package>.<ServiceName>/<MethodName>)
  • Streaming type (unary, server-streaming, client-streaming, bidirectional)
  • Request/response protobuf message types

Enable gRPC Support ​

gRPC support is enabled by default. You can toggle it in IDE settings:

Settings > Other Settings > EasyApi

Class Recognition ​

A class is recognized as a gRPC service if it meets any of the following conditions:

  1. Extends io.grpc.BindableService (or a generated ImplBase superclass)
  2. Is annotated with @GrpcService (from grpc-spring-boot-starter)
  3. Matches the class.is.grpc rule override

class.is.grpc Rule ​

The class.is.grpc rule can be used to customize gRPC service recognition. When this rule evaluates to true for a class, it is treated as a gRPC service regardless of the default detection logic.

properties
class.is.grpc=groovy:it.isExtend("io.grpc.BindableService")

See class.is.grpc for more details.

Configuration ​

gRPC Call ​

Enable gRPC call functionality to invoke gRPC methods directly from the IDE. This is configured in IDE settings:

Settings > Other Settings > EasyApi > gRPC

Check the Enable gRPC call checkbox to enable gRPC call support.

When gRPC call is enabled, you also need to configure the gRPC runtime dependencies. The plugin needs gRPC runtime JARs to invoke methods. You can use the Auto Detect button in the IDE settings panel to automatically detect and resolve the required dependencies.

gRPC Artifact Configs ​

Configure gRPC artifact coordinates for runtime dependency resolution in IDE settings. The format is groupId:artifactId:version:enabled.

gRPC Additional Jars ​

Add additional JAR files for runtime resolution in IDE settings.

gRPC Repositories ​

Configure artifact repositories for dependency resolution in IDE settings. Supported types are maven, gradle, and custom.

See Also ​

Released under the Apache-2.0 License.