Инструмент отладки Go gRPC

Go gRPC

Обзор

В последнее время я был очень занят работой, и я обнаружил, что не обновлял свой пост в течение 3 недель...

Спасибо, что вы здесь, сегодня я поделюсь с вами инструментом отладки для gRPC.

К точке.

Когда мы пишем HTTP-интерфейс, используя интерфейс отладки Postman, поэтому при написании интерфейса GRPC нет, нет подобного инструмента отладки почтальона?

Это там.

Давайте взглянемgrpcui, адрес источника:

GitHub.com/полная история…

Взгляните на официальное описание:

grpcui is a command-line tool that lets you interact with gRPC servers via a browser. It's sort of like Postman, but for gRPC APIs instead of REST.

Написать gRPC API

Я уже писал Demo раньше, так что я могу напрямую использовать проект listen, который написал изначально.

Порт: 9901

.protoдокумент:

syntax = "proto3"; // 指定 proto 版本

package listen;     // 指定包名

// 定义服务
service Listen {

	// 定义方法
	rpc ListenData(Request) returns (Response) {}

}

// Request 请求结构
message Request {
	string name = 1;
}

// Response 响应结构
message Response {
    string message = 1;
}

Это очень просто, все понимают это с первого взгляда.

  • Имя службы — listen.Listen
  • Имя метода ListenData

Посмотрите на метод ListenData:

func (l *ListenController) ListenData(ctx context.Context, in *listen.Request) (*listen.Response, error) {
	return &listen.Response{Message : fmt.Sprintf("[%s]", in.Name)}, nil
}

Это означает, чтоNameВернуться напрямую.

Адрес источника:

GitHub.com/Бессердечный не…

запустить службу

cd listen && go run main.go

После успешного запуска службы дождитесь ее использования.

использование grpcui

Установить

По словам официальногоREADME.mdДокументацию можно установить.

go get github.com/fullstorydev/grpcui
go install github.com/fullstorydev/grpcui/cmd/grpcui

В это время в$GOPATH/binкаталог, создатьgrpcuiзапускаемый файл.

Выполните команду для проверки:

grpcui -help

вывод:

Usage:
	grpcui [flags] [address]
	
......	

Это означает, что установка прошла успешно.

бегать

grpcui -plaintext 127.0.0.1:9901

Failed to compute set of methods to expose: server does not support the reflection API

В этом случае просто добавьте отражение и добавьте следующий код в main.go прослушивания:

reflection.Register(s)

Попробуйте один раз, запустив:

grpcui -plaintext 127.0.0.1:9901
gRPC Web UI available at http://127.0.0.1:63027/

Доступ в вашем браузере:http://127.0.0.1:63027/

На данный момент мы видим, что имя службы и имя метода вышли, и параметры передачи можно управлять прямо на странице.

Когда Запрос «Том» инициирован, также может быть получен Ответ «Том».

Конечно, если эта служба под несколькими именами службы, также будет отображаться несколько имен методов, и вы можете попробовать это.

Серия Go-Gin-API