@SuppressWarnings("unchecked")
    @Override
    public void sendMessage(final P message) {
        try {
            if (Objects.isNull(message)) {
                delegate().sendMessage(null);
                return;
            }

            String jsonFormat = JsonFormat.printer().includingDefaultValueFields().preservingProtoFieldNames()
                    .print((MessageOrBuilder) message);

            DynamicMessage respMessage = JsonMessage.buildJsonMessage(jsonFormat);
            LOG.debug("begin send json response");
            delegate().sendMessage((P) respMessage);
        } catch (InvalidProtocolBufferException e) {
            throw Status.INTERNAL.withDescription(e.getMessage()).asRuntimeException();
        }
    }
Handle response of json generic service.

@param <R> request message
@param <P> response message
shenyu-client/shenyu-client-grpc/src/main/java/org/apache/shenyu/client/grpc/json/JsonForwardingServerCall.java