Add support for endpoint examples. Right now it doesn't work because {{{example}}} is always empty (#5775)

This commit is contained in:
Jean-François Côté
2017-07-23 10:45:30 -04:00
committed by wing328
parent 8597b3f843
commit bf327519b8
68 changed files with 7573 additions and 0 deletions

View File

@@ -0,0 +1 @@
{{#returnContainer}}{{#isMapContainer}}Map{{/isMapContainer}}{{#isListContainer}}List{{/isListContainer}}{{/returnContainer}}{{^returnContainer}}{{{returnType}}}{{/returnContainer}}

View File

@@ -14,10 +14,24 @@ import javax.validation.constraints.*;
{{>generatedAnnotation}}
{{#operations}}
public class {{classname}}ControllerImp {{#useInterfaces}}implements {{classname}}ControllerImpInterface{{/useInterfaces}} {
private final ObjectMapper mapper;
@Inject
private {{classname}}ControllerImp() {
mapper = new ObjectMapper();
}
{{#operation}}
{{#useInterfaces}}@Override{{/useInterfaces}}
public {{>returnTypes}} {{operationId}}({{#allParams}}{{>pathParams}}{{>queryParams}}{{>bodyParams}}{{>formParams}}{{>headerParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {{#handleExceptions}}throws Exception{{/handleExceptions}} {
//Do your magic!!!
{{#examples}}
String accept = request().getHeader("Accept");
if (accept != null && accept.contains("{{{contentType}}}")) {
return mapper.readValue("{{#lamdaRemoveLineBreak}}{{#lamdaEscapeDoubleQuote}}{{{example}}}{{/lamdaEscapeDoubleQuote}}{{/lamdaRemoveLineBreak}}", {{>exampleReturnTypes}}.class);
}
{{/examples}}
{{#returnType}}{{#isResponseFile}}return new FileInputStream("replace this");{{/isResponseFile}}{{^isResponseFile}}return new {{>returnTypesNoVoidNoAbstract}}();{{/isResponseFile}}{{/returnType}}
}