...
1syntax = "proto3";
2
3package grpc.gateway.examples.internal.proto.examplepb;
4
5import "google/api/annotations.proto";
6
7option go_package = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb";
8
9service LoginService {
10 // Login
11 //
12 // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service.
13 // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}".
14 //
15 // ## {{.RequestType.Name}}
16 // | Field ID | Name | Type | Description |
17 // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}}
18 // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}}
19 //
20 // ## {{.ResponseType.Name}}
21 // | Field ID | Name | Type | Description |
22 // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}}
23 // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}}
24 rpc Login(LoginRequest) returns (LoginReply) {
25 option (google.api.http) = {
26 post: "/v1/example/login"
27 body: "*"
28 };
29 }
30
31 // Logout
32 //
33 // {{.MethodDescriptorProto.Name}} is a call with the method(s) {{$first := true}}{{range .Bindings}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{.HTTPMethod}}{{end}} within the "{{.Service.Name}}" service.
34 // It takes in "{{.RequestType.Name}}" and returns a "{{.ResponseType.Name}}".
35 //
36 // ## {{.RequestType.Name}}
37 // | Field ID | Name | Type | Description |
38 // | ----------- | --------- | --------------------------------------------------------- | ---------------------------- | {{range .RequestType.Fields}}
39 // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}}
40 //
41 // ## {{.ResponseType.Name}}
42 // | Field ID | Name | Type | Description |
43 // | ----------- | --------- | ---------------------------------------------------------- | ---------------------------- | {{range .ResponseType.Fields}}
44 // | {{.Number}} | {{.Name}} | {{if eq .Label.String "LABEL_REPEATED"}}[]{{end}}{{.Type}} | {{fieldcomments .Message .}} | {{end}}
45 rpc Logout(LogoutRequest) returns (LogoutReply) {
46 option (google.api.http) = {
47 post: "/v1/example/logout"
48 body: "*"
49 };
50 }
51}
52
53message LoginRequest {
54 // The entered username
55 string username = 1;
56 // The entered password
57 string password = 2;
58}
59
60message LoginReply {
61 string message = 1;
62 // Whether you have access or not
63 bool access = 2;
64}
65
66message LogoutRequest {
67 // The time the logout was registered
68 string timeoflogout = 1;
69 // This is the title
70 //
71 // This is the "Description" of field test
72 // you can use as many newlines as you want
73 //
74 //
75 // it will still format the same in the table
76 int32 test = 2;
77 // This is an array
78 //
79 // It displays that using [] infront of the type
80 repeated string stringarray = 3;
81}
82
83message LogoutReply {
84 // Message that tells you whether your
85 // logout was successful or not
86 string message = 1;
87}
View as plain text