protobuf import format (#20946)

This commit is contained in:
lucy66hw 2025-03-21 19:00:01 -07:00 committed by GitHub
parent f39675b41a
commit f3999109cb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 24 additions and 4 deletions

View File

@ -7,4 +7,8 @@ additionalProperties:
addJsonNameAnnotation: true addJsonNameAnnotation: true
numberedFieldNumberList: true numberedFieldNumberList: true
startEnumsWithUnspecified: true startEnumsWithUnspecified: true
wrapComplexType: false wrapComplexType: false
typeMappings:
object: "google.protobuf.Struct"
importMappings:
google.protobuf.Struct: "google/protobuf/struct"

View File

@ -4,3 +4,7 @@ inputSpec: modules/openapi-generator/src/test/resources/3_0/protobuf/petstore.ya
templateDir: modules/openapi-generator/src/main/resources/protobuf-schema templateDir: modules/openapi-generator/src/main/resources/protobuf-schema
additionalProperties: additionalProperties:
packageName: petstore packageName: petstore
typeMappings:
object: "google.protobuf.Struct"
importMappings:
google.protobuf.Struct: "google/protobuf/struct"

View File

@ -912,7 +912,11 @@ public class ProtobufSchemaCodegen extends DefaultCodegen implements CodegenConf
@Override @Override
public String toModelImport(String name) { public String toModelImport(String name) {
return underscore(name); if ("".equals(modelPackage())) {
return name;
} else {
return modelPackage() + "/" + underscore(name);
}
} }
@Override @Override

View File

@ -6,7 +6,7 @@ package {{#lambda.lowercase}}{{{packageName}}}.{{{apiPackage}}}.{{{classname}}};
import "google/protobuf/empty.proto"; import "google/protobuf/empty.proto";
{{#imports}} {{#imports}}
{{#import}} {{#import}}
import public "{{{modelPackage}}}/{{{.}}}.proto"; import public "{{{import}}}.proto";
{{/import}} {{/import}}
{{/imports}} {{/imports}}

View File

@ -5,7 +5,7 @@ package {{#lambda.lowercase}}{{{packageName}}};{{/lambda.lowercase}}
{{#imports}} {{#imports}}
{{#import}} {{#import}}
import public "{{{modelPackage}}}/{{{import}}}.proto"; import public "{{{.}}}.proto";
{{/import}} {{/import}}
{{/imports}} {{/imports}}

View File

@ -669,6 +669,8 @@ components:
complete: complete:
type: boolean type: boolean
default: false default: false
meta:
type: object
xml: xml:
name: Order name: Order
Category: Category:

View File

@ -12,6 +12,7 @@ syntax = "proto3";
package petstore; package petstore;
import public "google/protobuf/struct.proto";
message Order { message Order {
@ -35,4 +36,6 @@ message Order {
bool complete = 6; bool complete = 6;
google.protobuf.Struct meta = 7;
} }

View File

@ -12,6 +12,7 @@ syntax = "proto3";
package petstore; package petstore;
import public "google/protobuf/struct.proto";
message Order { message Order {
@ -34,4 +35,6 @@ message Order {
bool complete = 62574280; bool complete = 62574280;
google.protobuf.Struct meta = 3347973;
} }