mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 12:40:53 +00:00
fix(fastapi): use correct impl & package name with custom values (#20970)
Signed-off-by: Henrik Gerdes <hegerdes@outlook.de>
This commit is contained in:
parent
ee7927a525
commit
abce11152e
@ -71,6 +71,7 @@ public class PythonFastAPIServerCodegen extends AbstractPythonCodegen {
|
||||
private static final int DEFAULT_SERVER_PORT = 8080;
|
||||
private static final String DEFAULT_PACKAGE_NAME = "openapi_server";
|
||||
private static final String DEFAULT_SOURCE_FOLDER = "src";
|
||||
private static final String DEFAULT_IMPL_FOLDER = "impl";
|
||||
private static final String DEFAULT_PACKAGE_VERSION = "1.0.0";
|
||||
|
||||
private String implPackage;
|
||||
@ -109,7 +110,7 @@ public class PythonFastAPIServerCodegen extends AbstractPythonCodegen {
|
||||
additionalProperties.put("baseSuffix", BASE_CLASS_SUFFIX);
|
||||
additionalProperties.put(CodegenConstants.SOURCE_FOLDER, DEFAULT_SOURCE_FOLDER);
|
||||
additionalProperties.put(CodegenConstants.PACKAGE_NAME, DEFAULT_PACKAGE_NAME);
|
||||
additionalProperties.put(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, DEFAULT_PACKAGE_NAME.concat(".impl"));
|
||||
additionalProperties.put(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE, DEFAULT_IMPL_FOLDER);
|
||||
|
||||
languageSpecificPrimitives.add("List");
|
||||
languageSpecificPrimitives.add("Dict");
|
||||
@ -124,7 +125,7 @@ public class PythonFastAPIServerCodegen extends AbstractPythonCodegen {
|
||||
apiPackage = "apis";
|
||||
modelPackage = "models";
|
||||
testPackage = "tests";
|
||||
implPackage = "impl";
|
||||
implPackage = DEFAULT_IMPL_FOLDER;
|
||||
apiTestTemplateFiles().put("api_test.mustache", ".py");
|
||||
|
||||
cliOptions.add(new CliOption(CodegenConstants.PACKAGE_NAME, "python package name (convention: snake_case).")
|
||||
@ -153,10 +154,14 @@ public class PythonFastAPIServerCodegen extends AbstractPythonCodegen {
|
||||
|
||||
if (additionalProperties.containsKey(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE)) {
|
||||
this.implPackage = ((String) additionalProperties.get(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE));
|
||||
// Prefix templating value with the package name
|
||||
additionalProperties.put(CodegenConstants.FASTAPI_IMPLEMENTATION_PACKAGE,
|
||||
this.packageName + "." + this.implPackage);
|
||||
}
|
||||
|
||||
modelPackage = packageName + "." + modelPackage;
|
||||
apiPackage = packageName + "." + apiPackage;
|
||||
implPackage = packageName + "." + implPackage;
|
||||
|
||||
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
|
||||
supportingFiles.add(new SupportingFile("openapi.mustache", "", "openapi.yaml"));
|
||||
|
@ -30,7 +30,7 @@ public class PythonFastapiCodegenTest {
|
||||
List<File> files = generator.opts(configurator.toClientOptInput()).generate();
|
||||
files.forEach(File::deleteOnExit);
|
||||
|
||||
TestUtils.assertFileExists(Paths.get(output.getAbsolutePath(), "/src", IMPL_PKG, "__init__.py"));
|
||||
TestUtils.assertFileExists(Paths.get(output.getAbsolutePath(), "/src", "/nodesc", IMPL_PKG, "__init__.py"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
x
Reference in New Issue
Block a user