Giter Site home page Giter Site logo

protoc-plugins's Introduction

what's this?

基于bilibili kratos的protoc-gen-bswagger修改而来,通过proto文件生成restful的swagger.json文档

why?

对于生成的swagger.json有一些定制内容

how to use

1. 首先如果没有安装过protoc需要安装protoc

https://github.com/protocolbuffers/protobuf

2. clone当前项目

git clone https://github.com/dangerous1990/protoc-plugins.git

3. 执行init.sh

进入protoc-plugins项目执行

./init.sh

4. sample

  • hello.proto
syntax = "proto3";
import "google/api/annotations.proto";

service HelloWorld {
    // hello
    rpc Hello (HelloReq) returns (HelloReply) {
        option (google.api.http) = {
            post:"/hello"
        };
    };
}
message HelloReq{
}
message HelloReply{
    string name =1;
}
  • 使用protoc生成swagger.json
protoc -I"${GOPATH}/src/proto" -Iexample example/hello.proto  --swagger_out=example

protoc-plugins's People

Contributors

dangerous1990 avatar

Stargazers

 avatar

Watchers

 avatar

protoc-plugins's Issues

validate:"required"是不是无效

message Minority{ // 少数民族信息名称 string Name =3 [(gogoproto.jsontag) = 'name',(gogoproto.moretags)='gorm:"column:CH_NAME",validate:"required"']; // 所属组织REF int64 orgRef =4 [(gogoproto.jsontag) = 'orgRef',(gogoproto.moretags)='gorm:"column:I_ORG_REF",validate:"required"']; }
validate:"required"没有正确生成
"properties": { "id": { "type": "integer", "description": "唯一标识" }, "name": { "type": "string", "description": "少数民族信息名称" }, "orgRef": { "type": "integer", "description": "所属组织REF" }, "orgName": { "type": "string", "description": "所属组织名称" }, "nationNumber": { "type": "integer", "description": "少数民族成分数量" } }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.