From a8a4151afa41f2a011f53e5ae3f301293d962283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Vu=C4=8Dica?= Date: Sat, 16 Apr 2016 01:45:27 +0100 Subject: [PATCH 1/3] Swagger definitions now have `type` set to `object`. While the spec does not seem to require this, the Swagger editor at http://editor.swagger.io/ gets confused and does not display the 'Try this operation' UI correctly. Many of the examples found around also specify `"type": "object"`, so this *should* be the right thing to do. --- protoc-gen-swagger/genswagger/template.go | 1 + 1 file changed, 1 insertion(+) diff --git a/protoc-gen-swagger/genswagger/template.go b/protoc-gen-swagger/genswagger/template.go index 26a272cd34e..3793d0e5578 100644 --- a/protoc-gen-swagger/genswagger/template.go +++ b/protoc-gen-swagger/genswagger/template.go @@ -51,6 +51,7 @@ func findNestedMessagesAndEnumerations(message *descriptor.Message, reg *descrip func renderMessagesAsDefinition(messages messageMap, d swaggerDefinitionsObject, reg *descriptor.Registry) { for _, msg := range messages { object := swaggerSchemaObject{ + Type: "object", Properties: map[string]swaggerSchemaObject{}, } for _, field := range msg.Fields { From cde0cb63c566db4cb78dfa7bd5014add66b5865b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Vu=C4=8Dica?= Date: Sat, 16 Apr 2016 02:13:28 +0100 Subject: [PATCH 2/3] Updating golden Swagger JSONs to reflect changes in a8a4151. --- examples/examplepb/echo_service.swagger.json | 1 + examples/examplepb/streamless_everything.swagger.json | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/examples/examplepb/echo_service.swagger.json b/examples/examplepb/echo_service.swagger.json index 76a905721d6..edf7015793b 100644 --- a/examples/examplepb/echo_service.swagger.json +++ b/examples/examplepb/echo_service.swagger.json @@ -71,6 +71,7 @@ }, "definitions": { "examplepbSimpleMessage": { + "type": "object", "properties": { "id": { "type": "string", diff --git a/examples/examplepb/streamless_everything.swagger.json b/examples/examplepb/streamless_everything.swagger.json index 50806ce071a..508508eb36e 100644 --- a/examples/examplepb/streamless_everything.swagger.json +++ b/examples/examplepb/streamless_everything.swagger.json @@ -339,6 +339,7 @@ }, "definitions": { "ABitOfEverythingNested": { + "type": "object", "properties": { "amount": { "type": "integer", @@ -362,6 +363,7 @@ "default": "FALSE" }, "examplepbABitOfEverything": { + "type": "object", "properties": { "bool_value": { "type": "boolean", @@ -441,8 +443,11 @@ } } }, - "examplepbEmptyMessage": {}, + "examplepbEmptyMessage": { + "type": "object" + }, "examplepbIdMessage": { + "type": "object", "properties": { "uuid": { "type": "string", @@ -459,6 +464,7 @@ "default": "ZERO" }, "subStringMessage": { + "type": "object", "properties": { "value": { "type": "string", From 5a21aadfea026364891ca5754c7f08c6b659d463 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20Vu=C4=8Dica?= Date: Sat, 16 Apr 2016 02:24:20 +0100 Subject: [PATCH 3/3] Remove Swagger plugin, too, during realclean. --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index ce3d7199d6a..8de1bd8f444 100644 --- a/Makefile +++ b/Makefile @@ -91,5 +91,6 @@ realclean: distclean rm -f $(EXAMPLE_GWSRCS) rm -f $(EXAMPLE_SWAGGERSRCS) rm -f $(GO_PLUGIN) + rm -f $(SWAGGER_PLUGIN) .PHONY: generate examples test clean distclean realclean