letmegrpc

[maintainer wanted] generates a web form gui from a grpc specification

  • Owner: gogo/letmegrpc
  • Platform:
  • License:: BSD 3-Clause "New" or "Revised" License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

We are looking for a maintainer to take over this repository, file an issue if you are interested.

letmegrpc

letmegrpc generates a web form gui from a grpc definition.

Build Status

Installation

cd $GOPATH
mkdir -p ./src/github.com/gogo/letmegrpc
git clone https://github.com/gogo/letmegrpc ./src/github.com/gogo/letmegrpc
git clone https://github.com/gogo/protobuf ./src/github.com/gogo/protobuf
go get github.com/gogo/pbparser
go get google.golang.org/grpc
go get golang.org/x/net/context
(cd ./src/github.com/gogo/letmegrpc && make install)

Usage

Assuming you have a grpc server implementation running on your localhost on port 12345

letmegrpc --addr=localhost:12345 --port=8080 grpc.proto

Now open your webbrowser and goto

http://localhost:8080/ServiceName/MethodName

Here you will find a generated html web form.
Clicking Submit will send your newly populated message to your grpc server implementation and display the results.

Example

(cd $GOPATH/src/github.com/gogo/letmegrpc && make install)
letmetestserver --port=12345 &
(cd $GOPATH/src/github.com/gogo/letmegrpc/testcmd && letmegrpc --addr=localhost:12345 --port=8080 serve.proto

Open your webbrowser at

http://localhost:8080/Label/Produce

image

More Features

  • Comments that are attached to fields become tooltips.
  • proto2 defaults are filled into the the clean form.

Customization

letmegrpc is just another protocol buffer code generation plugin.
Simply run:

protoc --gogo_out=. grpc.proto
protoc --letmegrpc_out=. grpc.proto

Now you can have the html generated code next to your generated message code.
It contains a:

  • The Serve function that is used to start the server.
  • SetHtmlStringer function that lets you customize your html output for each returned message, this is json by default. This might be useful to return more links and create an explorable web site.

Main metrics

Overview
Name With Ownergogo/letmegrpc
Primary LanguageGo
Program languageGo (Language Count: 3)
Platform
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2015-04-07 11:06:21
Pushed At2025-07-01 11:18:26
Last Commit At2025-07-01 12:18:26
Release Count2
Last Release Namev1.1.0 (Posted on )
First Release Namev1.0.0 (Posted on )
用户参与
Stargazers Count425
Watchers Count11
Fork Count48
Commits Count109
Has Issues Enabled
Issues Count37
Issue Open Count16
Pull Requests Count15
Pull Requests Open Count5
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private