package {{package}}; {{^jdk8-no-delegate}} {{#imports}}import {{import}}; {{/imports}} import io.swagger.annotations.*; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; {{/jdk8-no-delegate}} import org.springframework.stereotype.Controller; {{^jdk8-no-delegate}} import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.multipart.MultipartFile; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.List; {{#async}} import java.util.concurrent.Callable; {{/async}}{{/jdk8-no-delegate}} {{#useBeanValidation}} import javax.validation.constraints.*; import javax.validation.Valid; {{/useBeanValidation}} {{>generatedAnnotation}} @Controller {{#operations}} public class {{classname}}Controller implements {{classname}} { {{#isDelegate}} private final {{classname}}Delegate delegate; @org.springframework.beans.factory.annotation.Autowired public {{classname}}Controller({{classname}}Delegate delegate) { this.delegate = delegate; } {{/isDelegate}} {{^jdk8-no-delegate}} {{#operation}} public {{#async}}Callable<{{/async}}ResponseEntity<{{>returnTypes}}>{{#async}}>{{/async}} {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}, {{/allParams}}@RequestHeader("Accept") String accept){{#examples}}{{#-first}} throws IOException{{/-first}}{{/examples}} { // do some magic! {{^isDelegate}} {{^async}} {{#examples}} {{#-first}} ObjectMapper objectMapper = new ObjectMapper(); {{/-first}} if (accept != null && accept.contains("{{{contentType}}}")) { return new ResponseEntity<{{>returnTypes}}>(objectMapper.readValue("{{#lamdaRemoveLineBreak}}{{#lamdaEscapeDoubleQuote}}{{{example}}}{{/lamdaEscapeDoubleQuote}}{{/lamdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class), HttpStatus.OK); } {{/examples}} return new ResponseEntity<{{>returnTypes}}>(HttpStatus.OK); {{/async}} {{#async}} return new CallablereturnTypes}}>>() { @Override public ResponseEntity<{{>returnTypes}}> call() throws Exception { return new ResponseEntity<{{>returnTypes}}>(HttpStatus.OK); } }; {{/async}} {{/isDelegate}} {{#isDelegate}} return delegate.{{operationId}}({{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}); {{/isDelegate}} } {{/operation}} {{/jdk8-no-delegate}} } {{/operations}}