2 * NOTE: This class is auto generated by the swagger code generator program ({{{generatorVersion}}}).
3 * https://github.com/swagger-api/swagger-codegen
4 * Do not edit the class manually.
8 {{#imports}}import {{import}};
10 import com.fasterxml.jackson.databind.ObjectMapper;
11 import io.swagger.annotations.*;
12 import org.slf4j.Logger;
13 import org.slf4j.LoggerFactory;
14 import org.springframework.http.HttpStatus;
15 import org.springframework.http.ResponseEntity;
16 {{#useBeanValidation}}
17 import org.springframework.validation.annotation.Validated;
18 {{/useBeanValidation}}
19 import org.springframework.web.bind.annotation.PathVariable;
20 import org.springframework.web.bind.annotation.RequestBody;
21 import org.springframework.web.bind.annotation.RequestHeader;
22 import org.springframework.web.bind.annotation.RequestMapping;
23 import org.springframework.web.bind.annotation.RequestMethod;
24 import org.springframework.web.bind.annotation.RequestParam;
25 import org.springframework.web.bind.annotation.RequestPart;
26 import org.springframework.web.multipart.MultipartFile;
27 import org.onap.ccsdk.apps.services.RestException;
31 import jakarta.servlet.*;
32 import jakarta.servlet.http.HttpServletRequest;
33 import jakarta.servlet.http.HttpServletResponse;
36 import javax.servlet.*;
37 import javax.servlet.http.HttpServletRequest;
38 import javax.servlet.http.HttpServletResponse;
40 {{#useBeanValidation}}
42 import jakarta.validation.Valid;
43 import jakarta.validation.constraints.*;
46 import javax.validation.Valid;
47 import javax.validation.constraints.*;
49 {{/useBeanValidation}}
50 import java.io.IOException;
51 import java.util.List;
52 import java.util.Optional;
54 import java.util.concurrent.{{^jdk8}}Callable{{/jdk8}}{{#jdk8}}CompletableFuture{{/jdk8}};
56 {{>generatedAnnotation}}
57 @Api(value = "{{{baseName}}}", description = "the {{{baseName}}} API")
59 public interface {{classname}} {
62 Logger log = LoggerFactory.getLogger({{classname}}.class);
64 default Optional<ObjectMapper> getObjectMapper() {
65 return Optional.empty();
68 default Optional<HttpServletRequest> getRequest() {
69 return Optional.empty();
72 default Optional<String> getAcceptHeader() {
73 return getRequest().map(r -> r.getHeader("Accept"));
77 {{classname}}Delegate getDelegate();
81 @ApiOperation(value = "{{{summary}}}", nickname = "{{{operationId}}}", notes = "{{{notes}}}"{{#returnBaseType}}, response = {{{returnBaseType}}}.class{{/returnBaseType}}{{#returnContainer}}, responseContainer = "{{{returnContainer}}}"{{/returnContainer}}{{#hasAuthMethods}}, authorizations = {
82 {{#authMethods}}@Authorization(value = "{{name}}"{{#isOAuth}}, scopes = {
83 {{#scopes}}@AuthorizationScope(scope = "{{scope}}", description = "{{description}}"){{#hasMore}},
84 {{/hasMore}}{{/scopes}}
85 }{{/isOAuth}}){{#hasMore}},
86 {{/hasMore}}{{/authMethods}}
87 }{{/hasAuthMethods}}, tags={ {{#vendorExtensions.x-tags}}"{{tag}}",{{/vendorExtensions.x-tags}} })
88 @ApiResponses(value = { {{#responses}}
89 @ApiResponse(code = {{{code}}}, message = "{{{message}}}"{{#baseType}}, response = {{{baseType}}}.class{{/baseType}}{{#containerType}}, responseContainer = "{{{containerType}}}"{{/containerType}}){{#hasMore}},{{/hasMore}}{{/responses}} })
97 @RequestMapping(value = "{{{path}}}",{{#singleContentTypes}}
98 produces = "{{{vendorExtensions.x-accepts}}}",
99 consumes = "{{{vendorExtensions.x-contentType}}}",{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}}
100 produces = { {{#produces}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/produces}} }, {{/hasProduces}}{{#hasConsumes}}
101 consumes = { {{#consumes}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/consumes}} },{{/hasConsumes}}{{/singleContentTypes}}
102 method = RequestMethod.{{httpMethod}})
103 default {{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{#delegate-method}}_{{/delegate-method}}{{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/allParams}}) throws RestException {
105 return {{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}});
108 // Override this method
109 default {{#responseWrapper}}{{.}}<{{/responseWrapper}}ResponseEntity<{{>returnTypes}}>{{#responseWrapper}}>{{/responseWrapper}} {{operationId}}({{#allParams}}{{^isFile}}{{{dataType}}}{{/isFile}}{{#isFile}}MultipartFile{{/isFile}} {{paramName}}{{#hasMore}},{{/hasMore}}{{/allParams}}) throws RestException {
112 if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) {
114 if (getAcceptHeader().get().contains("{{{contentType}}}")) {
116 return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(getObjectMapper().get().readValue("{{#lambdaRemoveLineBreak}}{{#lambdaEscapeDoubleQuote}}{{{example}}}{{/lambdaEscapeDoubleQuote}}{{/lambdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class), HttpStatus.NOT_IMPLEMENTED){{#async}}){{/async}};
117 } catch (IOException e) {
118 log.error("Couldn't serialize response for content type {{{contentType}}}", e);
119 return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR){{#async}}){{/async}};
124 log.warn("ObjectMapper or HttpServletRequest not configured in default {{classname}} interface so no example is generated");
126 return {{#async}}CompletableFuture.completedFuture({{/async}}new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED){{#async}}){{/async}};
129 return getDelegate().{{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}});