github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/rest-assured/ApiClient.mustache (about) 1 {{>licenseInfo}} 2 3 package {{invokerPackage}}; 4 5 import {{apiPackage}}.*; 6 7 {{#imports}}import {{import}}; 8 {{/imports}} 9 {{^fullJavaUtil}} 10 import io.restassured.builder.RequestSpecBuilder; 11 import java.util.function.Consumer; 12 import java.util.function.Supplier; 13 14 import static io.restassured.config.ObjectMapperConfig.objectMapperConfig; 15 import static io.restassured.config.RestAssuredConfig.config; 16 import static {{invokerPackage}}.{{#gson}}GsonObjectMapper.gson{{/gson}}{{#jackson}}JacksonObjectMapper.jackson{{/jackson}}; 17 18 {{/fullJavaUtil}} 19 20 public class ApiClient { 21 {{#basePath}} 22 public static final String BASE_URI = "{{basePath}}"; 23 {{/basePath}} 24 25 private final Config config; 26 27 private ApiClient(Config config) { 28 this.config = config; 29 } 30 31 public static ApiClient api(Config config) { 32 return new ApiClient(config); 33 } 34 35 {{#apiInfo}} 36 {{#apis}} 37 public {{classname}} {{classVarName}}() { 38 return {{classname}}.{{classVarName}}(config.reqSpecSupplier); 39 } 40 {{/apis}} 41 {{/apiInfo}} 42 43 public static class Config { 44 private Supplier<RequestSpecBuilder> reqSpecSupplier = () -> new RequestSpecBuilder() 45 {{#basePath}}.setBaseUri(BASE_URI){{/basePath}} 46 .setConfig(config().objectMapperConfig(objectMapperConfig().defaultObjectMapper({{#gson}}gson(){{/gson}}{{#jackson}}jackson(){{/jackson}}))); 47 48 /** 49 * Use common specification for all operations 50 * @param supplier supplier 51 * @return configuration 52 */ 53 public Config reqSpecSupplier(Supplier<RequestSpecBuilder> supplier) { 54 this.reqSpecSupplier = supplier; 55 return this; 56 } 57 58 public static Config apiConfig() { 59 return new Config(); 60 } 61 } 62 }