diff --git a/bin/rust-petstore.sh b/bin/rust-petstore.sh index d5aceb82af66..bee0348ca066 100755 --- a/bin/rust-petstore.sh +++ b/bin/rust-petstore.sh @@ -40,7 +40,7 @@ for spec_path in \ --input-spec $spec_path --generator-name rust --output samples/client/petstore/rust/$library/$spec - --additional-properties packageName=${spec}-${library} + --additional-properties packageName=${spec}-${library},supportAsync=false --library=$library $@" java ${JAVA_OPTS} -jar ${executable} ${args} || exit 1 done diff --git a/docs/generators/rust.md b/docs/generators/rust.md index b59b31471f0c..951aa94f55ae 100644 --- a/docs/generators/rust.md +++ b/docs/generators/rust.md @@ -6,10 +6,10 @@ sidebar_label: rust | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | |hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true| -|library|library template (sub-template) to use.|
**hyper**
HTTP client: Hyper.
**reqwest**
HTTP client: Reqwest.
|hyper| +|library|library template (sub-template) to use.|
**hyper**
HTTP client: Hyper.
**reqwest**
HTTP client: Reqwest.
|reqwest| |packageName|Rust package name (convention: lowercase).| |openapi| |packageVersion|Rust package version.| |1.0.0| -|supportAsync|If set, generate async function call instead| |false| +|supportAsync|If set, generate async function call instead. This option is for 'reqwest' library only| |true| |useSingleRequestParameter|Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter.| |false| ## IMPORT MAPPING diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index 3ff2bfe8569c..31d4610f86ca 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -39,7 +39,7 @@ public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(RustClientCodegen.class); private boolean useSingleRequestParameter = false; - private boolean supportAsync = false; + private boolean supportAsync = true; public static final String PACKAGE_NAME = "packageName"; public static final String PACKAGE_VERSION = "packageVersion"; @@ -173,18 +173,18 @@ public RustClientCodegen() { .defaultValue(Boolean.TRUE.toString())); cliOptions.add(new CliOption(CodegenConstants.USE_SINGLE_REQUEST_PARAMETER, CodegenConstants.USE_SINGLE_REQUEST_PARAMETER_DESC, SchemaTypeUtil.BOOLEAN_TYPE) .defaultValue(Boolean.FALSE.toString())); - cliOptions.add(new CliOption(SUPPORT_ASYNC, "If set, generate async function call instead", SchemaTypeUtil.BOOLEAN_TYPE) - .defaultValue(Boolean.FALSE.toString())); + cliOptions.add(new CliOption(SUPPORT_ASYNC, "If set, generate async function call instead. This option is for 'reqwest' library only", SchemaTypeUtil.BOOLEAN_TYPE) + .defaultValue(Boolean.TRUE.toString())); supportedLibraries.put(HYPER_LIBRARY, "HTTP client: Hyper."); supportedLibraries.put(REQWEST_LIBRARY, "HTTP client: Reqwest."); CliOption libraryOption = new CliOption(CodegenConstants.LIBRARY, "library template (sub-template) to use."); libraryOption.setEnum(supportedLibraries); - // set hyper as the default - libraryOption.setDefault(HYPER_LIBRARY); + // set reqwest as the default + libraryOption.setDefault(REQWEST_LIBRARY); cliOptions.add(libraryOption); - setLibrary(HYPER_LIBRARY); + setLibrary(REQWEST_LIBRARY); } @Override