We just noticed that gnostic's proto-gen-openapi may create a wrong OpenAPI v3 spec when a message with identical name exists in an imported proto even though the messages belong to different packages. This happens although the message from the imported proto is not used at all in the base proto.
Reproduction: https://github.com/n0v1/gnostic-gen-openapi-naming-issue-repro (see readme and proto files for details)
The generated API spec only includes HelloWorld from bar.proto (which is not used anywhere). I would expect it to include HelloWorld from foo.proto instead. Even using the fully-qualified name com.example.foo.HelloWorld in FooResponse does not fix this.
Setting option fq_schema_naming=true fixes it but I think even without this option proto-gen-openapi should not create a wrong specification. It should at least give a warning or throw an error when a message/schema name is ambiguous.
Relates to issues #309 and #353.
We just noticed that gnostic's proto-gen-openapi may create a wrong OpenAPI v3 spec when a message with identical name exists in an imported proto even though the messages belong to different packages. This happens although the message from the imported proto is not used at all in the base proto.
Reproduction: https://github.com/n0v1/gnostic-gen-openapi-naming-issue-repro (see readme and proto files for details)
The generated API spec only includes
HelloWorldfrombar.proto(which is not used anywhere). I would expect it to includeHelloWorldfromfoo.protoinstead. Even using the fully-qualified namecom.example.foo.HelloWorldinFooResponsedoes not fix this.Setting option
fq_schema_naming=truefixes it but I think even without this option proto-gen-openapi should not create a wrong specification. It should at least give a warning or throw an error when a message/schema name is ambiguous.Relates to issues #309 and #353.