github.com/optim-corp/cios-golang-sdk@v0.5.1/openapi/codegen/spring-cloud/api.mustache (about)

     1  /**
     2   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) ({{{generatorVersion}}}).
     3   * https://openapi-generator.tech
     4   * Do not edit the class manually.
     5   */
     6  package {{package}};
     7  
     8  {{#imports}}import {{import}};
     9  {{/imports}}
    10  import io.swagger.annotations.*;
    11  {{#jdk8-no-delegate}}
    12  {{#virtualService}}
    13  import io.virtualan.annotation.ApiVirtual;
    14  import io.virtualan.annotation.VirtualService;
    15  {{/virtualService}}
    16  import org.springframework.http.HttpStatus;
    17  import org.springframework.http.MediaType;
    18  {{/jdk8-no-delegate}}
    19  import org.springframework.http.ResponseEntity;
    20  {{#useBeanValidation}}
    21  import org.springframework.validation.annotation.Validated;
    22  {{/useBeanValidation}}
    23  import org.springframework.web.bind.annotation.PathVariable;
    24  import org.springframework.web.bind.annotation.RequestBody;
    25  import org.springframework.web.bind.annotation.RequestHeader;
    26  import org.springframework.web.bind.annotation.RequestMapping;
    27  import org.springframework.web.bind.annotation.RequestMethod;
    28  import org.springframework.web.bind.annotation.RequestParam;
    29  import org.springframework.web.bind.annotation.RequestPart;
    30  {{#jdk8-no-delegate}}
    31      {{^reactive}}
    32  import org.springframework.web.context.request.NativeWebRequest;
    33      {{/reactive}}
    34  {{/jdk8-no-delegate}}
    35  import org.springframework.web.multipart.MultipartFile;
    36  {{#reactive}}
    37  import org.springframework.web.server.ServerWebExchange;
    38  import reactor.core.publisher.Flux;
    39  import reactor.core.publisher.Mono;
    40  {{/reactive}}
    41  
    42  {{#useBeanValidation}}
    43  import javax.validation.Valid;
    44  import javax.validation.constraints.*;
    45  {{/useBeanValidation}}
    46  import java.util.List;
    47  import java.util.Map;
    48  {{#jdk8-no-delegate}}
    49  import java.util.Optional;
    50  {{/jdk8-no-delegate}}
    51  {{^jdk8-no-delegate}}
    52      {{#useOptional}}
    53  import java.util.Optional;
    54      {{/useOptional}}
    55  {{/jdk8-no-delegate}}
    56  {{#async}}
    57  import java.util.concurrent.{{^jdk8}}Callable{{/jdk8}}{{#jdk8}}CompletableFuture{{/jdk8}};
    58  {{/async}}
    59  {{>generatedAnnotation}}
    60  import feign.*;
    61  {{#useBeanValidation}}
    62  @Validated
    63  {{/useBeanValidation}}
    64  @Api(value = "{{{baseName}}}", description = "the {{{baseName}}} API")
    65  {{#operations}}
    66  {{#virtualService}}
    67  @VirtualService
    68  {{/virtualService}}
    69  public interface {{classname}} {
    70  {{#jdk8}}
    71      {{^isDelegate}}
    72          {{^reactive}}
    73  
    74      default Optional<NativeWebRequest> getRequest() {
    75          return Optional.empty();
    76      }
    77          {{/reactive}}
    78      {{/isDelegate}}
    79      {{#isDelegate}}
    80  
    81      default {{classname}}Delegate getDelegate() {
    82          return new {{classname}}Delegate() {};
    83      }
    84      {{/isDelegate}}
    85  {{/jdk8}}
    86  {{#operation}}
    87  
    88      {{#virtualService}}
    89      @ApiVirtual
    90      {{/virtualService}}
    91      @ApiOperation(value = "{{{summary}}}", nickname = "{{{operationId}}}", notes = "{{{notes}}}"{{#returnBaseType}}, response = {{{returnBaseType}}}.class{{/returnBaseType}}{{#returnContainer}}, responseContainer = "{{{returnContainer}}}"{{/returnContainer}}{{#hasAuthMethods}}, authorizations = {
    92          {{#authMethods}}@Authorization(value = "{{name}}"{{#isOAuth}}, scopes = {
    93              {{#scopes}}@AuthorizationScope(scope = "{{scope}}", description = "{{description}}"){{#hasMore}},
    94              {{/hasMore}}{{/scopes}}
    95              }{{/isOAuth}}){{#hasMore}},
    96          {{/hasMore}}{{/authMethods}}
    97      }{{/hasAuthMethods}}, tags={ {{#vendorExtensions.x-tags}}"{{tag}}",{{/vendorExtensions.x-tags}} })
    98      @ApiResponses(value = { {{#responses}}
    99          @ApiResponse(code = {{{code}}}, message = "{{{message}}}"{{#baseType}}, response = {{{baseType}}}.class{{/baseType}}{{#containerType}}, responseContainer = "{{{containerType}}}"{{/containerType}}){{#hasMore}},{{/hasMore}}{{/responses}} })
   100      {{#implicitHeaders}}
   101      @ApiImplicitParams({
   102      {{#headerParams}}
   103      {{>implicitHeader}}
   104      {{/headerParams}}
   105      })
   106      {{/implicitHeaders}}
   107      @RequestLine("{{httpMethod}} {{{path}}}{{#hasQueryParams}}?{{/hasQueryParams}}{{#queryParams}}{{baseName}}={{=<% %>=}}{<%paramName%>}<%={{ }}=%>{{#hasMore}}&{{/hasMore}}{{/queryParams}}")
   108      @Headers({
   109  {{#vendorExtensions.x-contentType}}    "Content-Type: {{vendorExtensions.x-contentType}}",
   110  {{/vendorExtensions.x-contentType}}    "Accept: {{vendorExtensions.x-accepts}}",{{#headerParams}}
   111      "{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{#hasMore}},
   112      {{/hasMore}}{{/headerParams}}
   113      })
   114      @RequestMapping(value = "{{{path}}}",{{#singleContentTypes}}{{#hasProduces}}
   115          produces = "{{{vendorExtensions.x-accepts}}}", {{/hasProduces}}{{#hasConsumes}}
   116          consumes = "{{{vendorExtensions.x-contentType}}}",{{/hasConsumes}}{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}}
   117          produces = { {{#produces}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/produces}} }, {{/hasProduces}}{{#hasConsumes}}
   118          consumes = { {{#consumes}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/consumes}} },{{/hasConsumes}}{{/singleContentTypes}}
   119          method = RequestMethod.{{httpMethod}})
   120      {{#jdk8}}default {{/jdk8}}{{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{#delegate-method}}_{{/delegate-method}}{{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{^hasMore}},{{#reactive}}, {{/reactive}}{{/hasMore}}{{/allParams}}{{#reactive}}ServerWebExchange exchange{{/reactive}}@RequestHeader("Authorization") String token){{^jdk8}};{{/jdk8}}{{#jdk8}} {
   121          {{#delegate-method}}
   122          return {{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}});
   123      }
   124  
   125      // Override this method
   126      default {{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{operationId}}({{#allParams}}{{^isFile}}{{{dataType}}}{{/isFile}}{{#isFile}}MultipartFile{{/isFile}} {{paramName}}{{#hasMore}},{{/hasMore}}{{^hasMore}}{{#reactive}}, {{/reactive}}{{/hasMore}}{{/allParams}}{{#reactive}}ServerWebExchange exchange{{/reactive}}) {
   127          {{/delegate-method}}
   128          {{^isDelegate}}
   129          {{>methodBody}}
   130          {{/isDelegate}}
   131          {{#isDelegate}}
   132          return getDelegate().{{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}{{#reactive}}{{#hasParams}}, {{/hasParams}}exchange{{/reactive}});
   133          {{/isDelegate}}
   134      }{{/jdk8}}
   135  
   136  {{/operation}}
   137  }
   138  {{/operations}}