forked from loafle/openapi-generator-original
[Csharp][aspnet] Aspnet 6.0 Support (#10619)
* Aspnetcore V6 Support * docs: update-docs
This commit is contained in:
committed by
GitHub
parent
d530e1baec
commit
c161358aa8
@@ -18,7 +18,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|
||||
| Option | Description | Values | Default |
|
||||
| ------ | ----------- | ------ | ------- |
|
||||
|aspnetCoreVersion|ASP.NET Core version: 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated)|<dl><dt>**2.0**</dt><dd>ASP.NET Core 2.0</dd><dt>**2.1**</dt><dd>ASP.NET Core 2.1</dd><dt>**2.2**</dt><dd>ASP.NET Core 2.2</dd><dt>**3.0**</dt><dd>ASP.NET Core 3.0</dd><dt>**3.1**</dt><dd>ASP.NET Core 3.1</dd><dt>**5.0**</dt><dd>ASP.NET Core 5.0</dd></dl>|3.1|
|
||||
|aspnetCoreVersion|ASP.NET Core version: 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated)|<dl><dt>**2.0**</dt><dd>ASP.NET Core 2.0</dd><dt>**2.1**</dt><dd>ASP.NET Core 2.1</dd><dt>**2.2**</dt><dd>ASP.NET Core 2.2</dd><dt>**3.0**</dt><dd>ASP.NET Core 3.0</dd><dt>**3.1**</dt><dd>ASP.NET Core 3.1</dd><dt>**5.0**</dt><dd>ASP.NET Core 5.0</dd><dt>**6.0**</dt><dd>ASP.NET Core 6.0</dd></dl>|3.1|
|
||||
|buildTarget|Target to build an application or library|<dl><dt>**program**</dt><dd>Generate code for a standalone server</dd><dt>**library**</dt><dd>Generate code for a server abstract class library</dd></dl>|program|
|
||||
|classModifier|Class Modifier for controller classes: Empty string or abstract.| ||
|
||||
|compatibilityVersion|ASP.Net Core CompatibilityVersion| |Version_2_2|
|
||||
@@ -44,7 +44,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
||||
|returnICollection|Return ICollection<T> instead of the concrete type.| |false|
|
||||
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|
||||
|sourceFolder|source folder for generated code| |src|
|
||||
|swashbuckleVersion|Swashbuckle version: 3.0.0, 4.0.0, 5.0.0|<dl><dt>**3.0.0**</dt><dd>Swashbuckle 3.0.0</dd><dt>**4.0.0**</dt><dd>Swashbuckle 4.0.0</dd><dt>**5.0.0**</dt><dd>Swashbuckle 5.0.0</dd></dl>|3.0.0|
|
||||
|swashbuckleVersion|Swashbuckle version: 3.0.0, 4.0.0, 5.0.0, 6.0.0|<dl><dt>**3.0.0**</dt><dd>Swashbuckle 3.0.0</dd><dt>**4.0.0**</dt><dd>Swashbuckle 4.0.0</dd><dt>**5.0.0**</dt><dd>Swashbuckle 5.0.0</dd><dt>**6.0.0**</dt><dd>Swashbuckle 6.0.0</dd></dl>|3.0.0|
|
||||
|useCollection|Deserialize array types to Collection<T> instead of List<T>.| |false|
|
||||
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|
||||
|useDefaultRouting|Use default routing for the ASP.NET Core version.| |true|
|
||||
|
||||
@@ -69,8 +69,8 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
private boolean useSwashbuckle = true;
|
||||
protected int serverPort = 8080;
|
||||
protected String serverHost = "0.0.0.0";
|
||||
protected CliOption swashbuckleVersion = new CliOption(SWASHBUCKLE_VERSION, "Swashbuckle version: 3.0.0, 4.0.0, 5.0.0");
|
||||
protected CliOption aspnetCoreVersion = new CliOption(ASPNET_CORE_VERSION, "ASP.NET Core version: 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated)");
|
||||
protected CliOption swashbuckleVersion = new CliOption(SWASHBUCKLE_VERSION, "Swashbuckle version: 3.0.0, 4.0.0, 5.0.0, 6.0.0");
|
||||
protected CliOption aspnetCoreVersion = new CliOption(ASPNET_CORE_VERSION, "ASP.NET Core version: 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated)");
|
||||
private CliOption classModifier = new CliOption(CLASS_MODIFIER, "Class Modifier for controller classes: Empty string or abstract.");
|
||||
private CliOption operationModifier = new CliOption(OPERATION_MODIFIER, "Operation Modifier can be virtual or abstract");
|
||||
private CliOption modelClassModifier = new CliOption(MODEL_CLASS_MODIFIER, "Model Class Modifier can be nothing or partial");
|
||||
@@ -197,6 +197,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
aspnetCoreVersion.addEnum("3.0", "ASP.NET Core 3.0");
|
||||
aspnetCoreVersion.addEnum("3.1", "ASP.NET Core 3.1");
|
||||
aspnetCoreVersion.addEnum("5.0", "ASP.NET Core 5.0");
|
||||
aspnetCoreVersion.addEnum("6.0", "ASP.NET Core 6.0");
|
||||
aspnetCoreVersion.setDefault("3.1");
|
||||
aspnetCoreVersion.setOptValue(aspnetCoreVersion.getDefault());
|
||||
cliOptions.add(aspnetCoreVersion);
|
||||
@@ -204,6 +205,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
swashbuckleVersion.addEnum("3.0.0", "Swashbuckle 3.0.0");
|
||||
swashbuckleVersion.addEnum("4.0.0", "Swashbuckle 4.0.0");
|
||||
swashbuckleVersion.addEnum("5.0.0", "Swashbuckle 5.0.0");
|
||||
swashbuckleVersion.addEnum("6.0.0", "Swashbuckle 6.0.0");
|
||||
swashbuckleVersion.setDefault("3.0.0");
|
||||
swashbuckleVersion.setOptValue(swashbuckleVersion.getDefault());
|
||||
cliOptions.add(swashbuckleVersion);
|
||||
@@ -378,7 +380,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
supportingFiles.add(new SupportingFile("gitignore", packageFolder, ".gitignore"));
|
||||
supportingFiles.add(new SupportingFile("validateModel.mustache", packageFolder + File.separator + "Attributes", "ValidateModelStateAttribute.cs"));
|
||||
supportingFiles.add(new SupportingFile("typeConverter.mustache", packageFolder + File.separator + "Converters", "CustomEnumConverter.cs"));
|
||||
if (aspnetCoreVersion.getOptValue().startsWith("3.") || aspnetCoreVersion.getOptValue().startsWith("5.0")) {
|
||||
if (aspnetCoreVersion.getOptValue().startsWith("3.") || aspnetCoreVersion.getOptValue().startsWith("5.0") || aspnetCoreVersion.getOptValue().startsWith("6.")) {
|
||||
supportingFiles.add(new SupportingFile("OpenApi" + File.separator + "TypeExtensions.mustache", packageFolder + File.separator + "OpenApi", "TypeExtensions.cs"));
|
||||
}
|
||||
supportingFiles.add(new SupportingFile("Project.csproj.mustache", packageFolder, packageName + ".csproj"));
|
||||
@@ -610,7 +612,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
private void setAspnetCoreVersion(String packageFolder) {
|
||||
setCliOption(aspnetCoreVersion);
|
||||
|
||||
if (aspnetCoreVersion.getOptValue().startsWith("3.") || aspnetCoreVersion.getOptValue().startsWith("5.0")) {
|
||||
if (aspnetCoreVersion.getOptValue().startsWith("3.") || aspnetCoreVersion.getOptValue().startsWith("5.0") || aspnetCoreVersion.getOptValue().startsWith("6.")) {
|
||||
compatibilityVersion = null;
|
||||
} else if ("2.0".equals(aspnetCoreVersion.getOptValue())) {
|
||||
compatibilityVersion = null;
|
||||
@@ -627,6 +629,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
|
||||
private String determineTemplateVersion(String frameworkVersion) {
|
||||
switch (frameworkVersion) {
|
||||
case "6.0":
|
||||
case "5.0":
|
||||
case "3.1":
|
||||
return "3.0";
|
||||
@@ -679,6 +682,13 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
useFrameworkReference = true;
|
||||
additionalProperties.put(USE_FRAMEWORK_REFERENCE, useFrameworkReference);
|
||||
additionalProperties.put(TARGET_FRAMEWORK, "net5.0");
|
||||
} else if (aspnetCoreVersion.getOptValue().startsWith("6.")) {
|
||||
LOGGER.warn(
|
||||
"ASP.NET core version is {} so changing to use frameworkReference instead of packageReference ",
|
||||
aspnetCoreVersion.getOptValue());
|
||||
useFrameworkReference = true;
|
||||
additionalProperties.put(USE_FRAMEWORK_REFERENCE, useFrameworkReference);
|
||||
additionalProperties.put(TARGET_FRAMEWORK, "net6.0");
|
||||
} else {
|
||||
if (additionalProperties.containsKey(USE_FRAMEWORK_REFERENCE)) {
|
||||
useFrameworkReference = convertPropertyToBooleanAndWriteBack(USE_FRAMEWORK_REFERENCE);
|
||||
@@ -705,7 +715,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
}
|
||||
|
||||
private void setUseEndpointRouting() {
|
||||
if (aspnetCoreVersion.getOptValue().startsWith("3.") || aspnetCoreVersion.getOptValue().startsWith("5.")) {
|
||||
if (aspnetCoreVersion.getOptValue().startsWith("3.") || aspnetCoreVersion.getOptValue().startsWith("5.") || aspnetCoreVersion.getOptValue().startsWith("6.")) {
|
||||
LOGGER.warn("ASP.NET core version is {} so switching to old style endpoint routing.", aspnetCoreVersion.getOptValue());
|
||||
useDefaultRouting = false;
|
||||
additionalProperties.put(USE_DEFAULT_ROUTING, useDefaultRouting);
|
||||
@@ -725,7 +735,13 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
|
||||
LOGGER.warn("ASP.NET core version is {} so changing default Swashbuckle version to 5.0.0.", aspnetCoreVersion.getOptValue());
|
||||
swashbuckleVersion.setOptValue("5.0.0");
|
||||
additionalProperties.put(SWASHBUCKLE_VERSION, swashbuckleVersion.getOptValue());
|
||||
} else {
|
||||
}
|
||||
else if(aspnetCoreVersion.getOptValue().startsWith("6.")) {
|
||||
LOGGER.warn("ASP.NET core version is {} so changing default Swashbuckle version to 6.0.0.", aspnetCoreVersion.getOptValue());
|
||||
swashbuckleVersion.setOptValue("6.0.0");
|
||||
additionalProperties.put(SWASHBUCKLE_VERSION, swashbuckleVersion.getOptValue());
|
||||
}
|
||||
else {
|
||||
// default, do nothing
|
||||
LOGGER.info("Swashbuckle version: {}", swashbuckleVersion.getOptValue());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user