[Play Framework] Update Play Framework Generator to latest version (#7860)

* First iteration to support new mechanism that needs to have the handle of the result.

* Most of the samples now build except "async". Also, everything is messed up.. need to understand the mustache way to handle this.

* New version to support play 2.8

* Fix conflict

* Fix error when multiple file in forms
This commit is contained in:
Jean-François Côté 2020-11-02 21:48:29 -05:00 committed by GitHub
parent ebf2f2e30f
commit 998e0fdaa2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
127 changed files with 2720 additions and 1276 deletions

View File

@ -297,13 +297,13 @@ public class JavaPlayFrameworkCodegen extends AbstractJavaCodegen implements Bea
for (CodegenParameter param : operation.allParams) { for (CodegenParameter param : operation.allParams) {
if (param.isFormParam && param.isFile) { if (param.isFormParam && param.isFile) {
param.dataType = "Http.MultipartFormData.FilePart"; param.dataType = "Http.MultipartFormData.FilePart<TemporaryFile>";
} }
} }
for (CodegenParameter param : operation.formParams) { for (CodegenParameter param : operation.formParams) {
if (param.isFile) { if (param.isFile) {
param.dataType = "Http.MultipartFormData.FilePart"; param.dataType = "Http.MultipartFormData.FilePart<TemporaryFile>";
} }
} }

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -9,6 +9,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
{{#supportAsync}} {{#supportAsync}}
import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@ -18,7 +19,7 @@ import javax.validation.constraints.*;
{{/useBeanValidation}} {{/useBeanValidation}}
{{>generatedAnnotation}} {{>generatedAnnotation}}
{{#operations}} {{#operations}}
public class {{classname}}ControllerImp {{#useInterfaces}}implements {{classname}}ControllerImpInterface{{/useInterfaces}} { public class {{classname}}ControllerImp {{#useInterfaces}}extends {{classname}}ControllerImpInterface{{/useInterfaces}} {
{{#operation}} {{#operation}}
{{#useInterfaces}}@Override{{/useInterfaces}} {{#useInterfaces}}@Override{{/useInterfaces}}
public {{^returnType}}void{{/returnType}}{{#returnType}}{{#supportAsync}}CompletionStage<{{/supportAsync}}{{>returnTypesNoVoid}}{{#supportAsync}}>{{/supportAsync}}{{/returnType}} {{operationId}}(Http.Request request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{>pathParams}}{{>queryParams}}{{>bodyParams}}{{>formParams}}{{>headerParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {{#handleExceptions}}throws Exception{{/handleExceptions}} { public {{^returnType}}void{{/returnType}}{{#returnType}}{{#supportAsync}}CompletionStage<{{/supportAsync}}{{>returnTypesNoVoid}}{{#supportAsync}}>{{/supportAsync}}{{/returnType}} {{operationId}}(Http.Request request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{>pathParams}}{{>queryParams}}{{>bodyParams}}{{>formParams}}{{>headerParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {{#handleExceptions}}throws Exception{{/handleExceptions}} {

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
{{^handleExceptions}} {{^handleExceptions}}
import java.io.IOException; import java.io.IOException;
{{/handleExceptions}} {{/handleExceptions}}
@ -38,7 +39,6 @@ import openapitools.OpenAPIUtils.ApiAction;
{{>generatedAnnotation}} {{>generatedAnnotation}}
{{#operations}} {{#operations}}
public class {{classname}}Controller extends Controller { public class {{classname}}Controller extends Controller {
{{^controllerOnly}} {{^controllerOnly}}
private final {{classname}}ControllerImp{{#useInterfaces}}Interface{{/useInterfaces}} imp; private final {{classname}}ControllerImp{{#useInterfaces}}Interface{{/useInterfaces}} imp;
{{/controllerOnly}} {{/controllerOnly}}
@ -59,7 +59,6 @@ public class {{classname}}Controller extends Controller {
} }
{{#operation}} {{#operation}}
{{#wrapCalls}}@ApiAction{{/wrapCalls}} {{#wrapCalls}}@ApiAction{{/wrapCalls}}
public {{#supportAsync}}CompletionStage<{{/supportAsync}}Result{{#supportAsync}}>{{/supportAsync}} {{operationId}}(Http.Request request{{#hasPathParams}}, {{/hasPathParams}}{{#pathParams}}{{>pathParams}}{{#hasMore}},{{/hasMore}}{{/pathParams}}) {{^handleExceptions}}{{#bodyParams}}throws IOException{{/bodyParams}}{{/handleExceptions}}{{#handleExceptions}}throws Exception{{/handleExceptions}} { public {{#supportAsync}}CompletionStage<{{/supportAsync}}Result{{#supportAsync}}>{{/supportAsync}} {{operationId}}(Http.Request request{{#hasPathParams}}, {{/hasPathParams}}{{#pathParams}}{{>pathParams}}{{#hasMore}},{{/hasMore}}{{/pathParams}}) {{^handleExceptions}}{{#bodyParams}}throws IOException{{/bodyParams}}{{/handleExceptions}}{{#handleExceptions}}throws Exception{{/handleExceptions}} {
{{#bodyParams}} {{#bodyParams}}
@ -129,9 +128,10 @@ public class {{classname}}Controller extends Controller {
{{/queryParams}} {{/queryParams}}
{{#formParams}} {{#formParams}}
{{#isFile}} {{#isFile}}
{{{dataType}}} {{paramName}} = request.body().asMultipartFormData().getFile("{{baseName}}"); Http.MultipartFormData<TemporaryFile> body{{paramName}} = request.body().asMultipartFormData();
{{{dataType}}} {{paramName}} = body{{paramName}}.getFile("{{baseName}}");
{{#required}} {{#required}}
if (({{paramName}} == null || ((File) {{paramName}}.getFile()).length() == 0)) { if (({{paramName}} == null || {{paramName}}.getFileSize() == 0)) {
throw new IllegalArgumentException("'{{baseName}}' file cannot be empty"); throw new IllegalArgumentException("'{{baseName}}' file cannot be empty");
} }
{{/required}} {{/required}}
@ -201,82 +201,24 @@ public class {{classname}}Controller extends Controller {
} }
{{/collectionFormat}} {{/collectionFormat}}
{{/headerParams}} {{/headerParams}}
{{^controllerOnly}} {{#useInterfaces}}
{{^returnType}}
{{#supportAsync}}
return CompletableFuture.supplyAsync(() -> {
{{/supportAsync}}
{{/returnType}}
{{#returnType}}{{#supportAsync}}CompletionStage<{{>returnTypesNoVoid}}> stage = {{/supportAsync}}{{^supportAsync}}{{>returnTypesNoVoid}} obj = {{/supportAsync}}{{/returnType}}{{^returnType}}{{#supportAsync}} {{/supportAsync}}{{/returnType}}imp.{{operationId}}(request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}){{#returnType}}{{#supportAsync}}.thenApply(obj -> { {{/supportAsync}}{{/returnType}}{{^supportAsync}};{{/supportAsync}}{{#supportAsync}}{{^returnType}};{{/returnType}}{{/supportAsync}}
{{#returnType}}
{{^isResponseFile}}
{{^returnTypeIsPrimitive}}
{{#useBeanValidation}}
{{^supportAsync}}
if (configuration.getBoolean("useOutputBeanValidation")) {
{{#isArray}}
for ({{{returnType}}} curItem : obj) {
OpenAPIUtils.validate(curItem);
}
{{/isArray}}
{{#isMap}}
for (Map.Entry<String, {{{returnType}}}> entry : obj.entrySet()) {
OpenAPIUtils.validate(entry.getValue());
}
{{/isMap}}
{{^returnContainer}}
OpenAPIUtils.validate(obj);
{{/returnContainer}}
}
{{/supportAsync}}
{{#supportAsync}}
if (configuration.getBoolean("useOutputBeanValidation")) {
{{#isArray}}
for ({{{returnType}}} curItem : obj) {
OpenAPIUtils.validate(curItem);
}
{{/isArray}}
{{#isMap}}
for (Map.Entry<String, {{{returnType}}}> entry : obj.entrySet()) {
OpenAPIUtils.validate(entry.getValue());
}
{{/isMap}}
{{^returnContainer}}
OpenAPIUtils.validate(obj);
{{/returnContainer}}
}
{{/supportAsync}}
{{/useBeanValidation}}
{{/returnTypeIsPrimitive}}
{{/isResponseFile}}
{{#supportAsync}}
return obj;
});
{{/supportAsync}}
{{/returnType}}
{{#returnType}}
{{#supportAsync}}
stage.thenApply(obj -> {
{{/supportAsync}}
{{^isResponseFile}}
{{#supportAsync}} {{/supportAsync}}JsonNode result = mapper.valueToTree(obj);
{{#supportAsync}} {{/supportAsync}}return ok(result);
{{/isResponseFile}}
{{#isResponseFile}}
{{#supportAsync}} {{/supportAsync}}return ok(obj);
{{/isResponseFile}}
{{/returnType}}
{{^returnType}}
{{#supportAsync}} {{/supportAsync}}return ok();
{{/returnType}}
{{#supportAsync}}
});
{{/supportAsync}}
{{/controllerOnly}}
{{#controllerOnly}} {{#controllerOnly}}
return ok(); return ok();
{{/controllerOnly}} {{/controllerOnly}}
{{^controllerOnly}}
{{#supportAsync}}
return imp.{{operationId}}Http(request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}});
{{/supportAsync}}
{{^supportAsync}}
return imp.{{operationId}}Http(request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}});
{{/supportAsync}}
{{/controllerOnly}}
{{/useInterfaces}}
{{^useInterfaces}}
{{>responseToResult}}
{{/useInterfaces}}
} }
{{/operation}} {{/operation}}
} }
{{/operations}} {{/operations}}

View File

@ -3,10 +3,19 @@ package {{package}};
{{#imports}}import {{import}}; {{#imports}}import {{import}};
{{/imports}} {{/imports}}
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
{{#supportAsync}} {{#supportAsync}}
import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@ -18,9 +27,18 @@ import javax.validation.constraints.*;
{{#operations}} {{#operations}}
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface {{classname}}ControllerImpInterface { public abstract class {{classname}}ControllerImpInterface {
{{#useBeanValidation}}
@Inject private Config configuration;
{{/useBeanValidation}}
private ObjectMapper mapper = new ObjectMapper();
{{#operation}} {{#operation}}
{{^returnType}}void{{/returnType}}{{#returnType}}{{#supportAsync}}CompletionStage<{{/supportAsync}}{{>returnTypesNoVoid}}{{#supportAsync}}>{{/supportAsync}}{{/returnType}} {{operationId}}(Http.Request request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{>pathParams}}{{>queryParams}}{{>bodyParams}}{{>formParams}}{{>headerParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {{#handleExceptions}}throws Exception{{/handleExceptions}}; public {{#supportAsync}}CompletionStage<{{/supportAsync}}Result{{#supportAsync}}>{{/supportAsync}} {{operationId}}Http(Http.Request request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{>pathParams}}{{>queryParams}}{{>bodyParams}}{{>formParams}}{{>headerParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {{#handleExceptions}}throws Exception{{/handleExceptions}} {
{{>responseToResult}}
}
public abstract {{^returnType}}void{{/returnType}}{{#returnType}}{{#supportAsync}}CompletionStage<{{/supportAsync}}{{>returnTypesNoVoid}}{{#supportAsync}}>{{/supportAsync}}{{/returnType}} {{operationId}}(Http.Request request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{>pathParams}}{{>queryParams}}{{>bodyParams}}{{>formParams}}{{>headerParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {{#handleExceptions}}throws Exception{{/handleExceptions}};
{{/operation}} {{/operation}}
} }

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -0,0 +1,75 @@
{{^controllerOnly}}
{{^returnType}}
{{#supportAsync}}
return CompletableFuture.supplyAsync(() -> {
{{/supportAsync}}
{{/returnType}}
{{#returnType}}{{#supportAsync}}CompletionStage<{{>returnTypesNoVoid}}> stage = {{/supportAsync}}{{^supportAsync}}{{>returnTypesNoVoid}} obj = {{/supportAsync}}{{/returnType}}{{^returnType}}{{#supportAsync}} {{/supportAsync}}{{/returnType}}{{^useInterfaces}}imp.{{/useInterfaces}}{{operationId}}(request{{#hasParams}}, {{/hasParams}}{{#allParams}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}){{#returnType}}{{#supportAsync}}.thenApply(obj -> { {{/supportAsync}}{{/returnType}}{{^supportAsync}};{{/supportAsync}}{{#supportAsync}}{{^returnType}};{{/returnType}}{{/supportAsync}}
{{#returnType}}
{{^isResponseFile}}
{{^returnTypeIsPrimitive}}
{{#useBeanValidation}}
{{^supportAsync}}
if (configuration.getBoolean("useOutputBeanValidation")) {
{{#isArray}}
for ({{{returnType}}} curItem : obj) {
OpenAPIUtils.validate(curItem);
}
{{/isArray}}
{{#isMap}}
for (Map.Entry<String, {{{returnType}}}> entry : obj.entrySet()) {
OpenAPIUtils.validate(entry.getValue());
}
{{/isMap}}
{{^returnContainer}}
OpenAPIUtils.validate(obj);
{{/returnContainer}}
}
{{/supportAsync}}
{{#supportAsync}}
if (configuration.getBoolean("useOutputBeanValidation")) {
{{#isArray}}
for ({{{returnType}}} curItem : obj) {
OpenAPIUtils.validate(curItem);
}
{{/isArray}}
{{#isMap}}
for (Map.Entry<String, {{{returnType}}}> entry : obj.entrySet()) {
OpenAPIUtils.validate(entry.getValue());
}
{{/isMap}}
{{^returnContainer}}
OpenAPIUtils.validate(obj);
{{/returnContainer}}
}
{{/supportAsync}}
{{/useBeanValidation}}
{{/returnTypeIsPrimitive}}
{{/isResponseFile}}
{{#supportAsync}}
return obj;
});
{{/supportAsync}}
{{/returnType}}
{{#returnType}}
{{#supportAsync}}
stage.thenApply(obj -> {
{{/supportAsync}}
{{^isResponseFile}}
{{#supportAsync}} {{/supportAsync}}JsonNode result = mapper.valueToTree(obj);
{{#supportAsync}} {{/supportAsync}}return ok(result);
{{/isResponseFile}}
{{#isResponseFile}}
{{#supportAsync}} {{/supportAsync}}return ok(obj);
{{/isResponseFile}}
{{/returnType}}
{{^returnType}}
{{#supportAsync}} {{/supportAsync}}return ok();
{{/returnType}}
{{#supportAsync}}
});
{{/supportAsync}}
{{/controllerOnly}}
{{#controllerOnly}}
return ok();
{{/controllerOnly}}

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final PetApiControllerImpInterface imp; private final PetApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -38,7 +38,6 @@ public class PetApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result addPet(Http.Request request) throws Exception { public Result addPet(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -51,8 +50,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.addPet(request, body); return imp.addPetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -64,8 +62,7 @@ public class PetApiController extends Controller {
} else { } else {
apiKey = null; apiKey = null;
} }
imp.deletePet(request, petId, apiKey); return imp.deletePetHttp(request, petId, apiKey);
return ok();
} }
@ApiAction @ApiAction
@ -82,14 +79,7 @@ public class PetApiController extends Controller {
status.add(curParam); status.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByStatus(request, status); return imp.findPetsByStatusHttp(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -106,24 +96,12 @@ public class PetApiController extends Controller {
tags.add(curParam); tags.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByTags(request, tags); return imp.findPetsByTagsHttp(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getPetById(Http.Request request, Long petId) throws Exception { public Result getPetById(Http.Request request, Long petId) throws Exception {
Pet obj = imp.getPetById(request, petId); return imp.getPetByIdHttp(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -138,8 +116,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updatePet(request, body); return imp.updatePetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -158,8 +135,7 @@ public class PetApiController extends Controller {
} else { } else {
status = null; status = null;
} }
imp.updatePetWithForm(request, petId, name, status); return imp.updatePetWithFormHttp(request, petId, name, status);
return ok();
} }
@ApiAction @ApiAction
@ -171,12 +147,9 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file); Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
if (configuration.getBoolean("useOutputBeanValidation")) { return imp.uploadFileHttp(request, petId, additionalMetadata, file);
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -10,9 +10,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp implements PetApiControllerImpInterface { public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override @Override
public void addPet(Http.Request request, Pet body) throws Exception { public void addPet(Http.Request request, Pet body) throws Exception {
//Do your magic!!! //Do your magic!!!
@ -52,7 +53,7 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
} }
@Override @Override
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception { public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
//Do your magic!!! //Do your magic!!!
return new ModelApiResponse(); return new ModelApiResponse();
} }

View File

@ -4,29 +4,109 @@ import java.io.InputStream;
import apimodels.ModelApiResponse; import apimodels.ModelApiResponse;
import apimodels.Pet; import apimodels.Pet;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface PetApiControllerImpInterface { public abstract class PetApiControllerImpInterface {
void addPet(Http.Request request, Pet body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void deletePet(Http.Request request, Long petId, String apiKey) throws Exception; public Result addPetHttp(Http.Request request, Pet body) throws Exception {
addPet(request, body);
List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception; return ok();
List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception; }
Pet getPetById(Http.Request request, Long petId) throws Exception; public abstract void addPet(Http.Request request, Pet body) throws Exception;
void updatePet(Http.Request request, Pet body) throws Exception; public Result deletePetHttp(Http.Request request, Long petId, String apiKey) throws Exception {
deletePet(request, petId, apiKey);
void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception; return ok();
ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception; }
public abstract void deletePet(Http.Request request, Long petId, String apiKey) throws Exception;
public Result findPetsByStatusHttp(Http.Request request, @NotNull List<String> status) throws Exception {
List<Pet> obj = findPetsByStatus(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception;
public Result findPetsByTagsHttp(Http.Request request, @NotNull List<String> tags) throws Exception {
List<Pet> obj = findPetsByTags(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception;
public Result getPetByIdHttp(Http.Request request, Long petId) throws Exception {
Pet obj = getPetById(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Pet getPetById(Http.Request request, Long petId) throws Exception;
public Result updatePetHttp(Http.Request request, Pet body) throws Exception {
updatePet(request, body);
return ok();
}
public abstract void updatePet(Http.Request request, Pet body) throws Exception;
public Result updatePetWithFormHttp(Http.Request request, Long petId, String name, String status) throws Exception {
updatePetWithForm(request, petId, name, status);
return ok();
}
public abstract void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception;
public Result uploadFileHttp(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
ModelApiResponse obj = uploadFile(request, petId, additionalMetadata, file);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final StoreApiControllerImpInterface imp; private final StoreApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,28 +37,19 @@ public class StoreApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result deleteOrder(Http.Request request, String orderId) throws Exception { public Result deleteOrder(Http.Request request, String orderId) throws Exception {
imp.deleteOrder(request, orderId); return imp.deleteOrderHttp(request, orderId);
return ok();
} }
@ApiAction @ApiAction
public Result getInventory(Http.Request request) throws Exception { public Result getInventory(Http.Request request) throws Exception {
Map<String, Integer> obj = imp.getInventory(request); return imp.getInventoryHttp(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception { public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
Order obj = imp.getOrderById(request, orderId); return imp.getOrderByIdHttp(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -73,11 +64,7 @@ public class StoreApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Order obj = imp.placeOrder(request, body); return imp.placeOrderHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp implements StoreApiControllerImpInterface { public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override @Override
public void deleteOrder(Http.Request request, String orderId) throws Exception { public void deleteOrder(Http.Request request, String orderId) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,21 +3,66 @@ package com.puppies.store.apis;
import java.util.Map; import java.util.Map;
import apimodels.Order; import apimodels.Order;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface StoreApiControllerImpInterface { public abstract class StoreApiControllerImpInterface {
void deleteOrder(Http.Request request, String orderId) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
Map<String, Integer> getInventory(Http.Request request) throws Exception; public Result deleteOrderHttp(Http.Request request, String orderId) throws Exception {
deleteOrder(request, orderId);
Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception; return ok();
Order placeOrder(Http.Request request, Order body) throws Exception; }
public abstract void deleteOrder(Http.Request request, String orderId) throws Exception;
public Result getInventoryHttp(Http.Request request) throws Exception {
Map<String, Integer> obj = getInventory(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Map<String, Integer> getInventory(Http.Request request) throws Exception;
public Result getOrderByIdHttp(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
Order obj = getOrderById(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception;
public Result placeOrderHttp(Http.Request request, Order body) throws Exception {
Order obj = placeOrder(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order placeOrder(Http.Request request, Order body) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller { public class UserApiController extends Controller {
private final UserApiControllerImpInterface imp; private final UserApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,7 +37,6 @@ public class UserApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result createUser(Http.Request request) throws Exception { public Result createUser(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -50,8 +49,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUser(request, body); return imp.createUserHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -68,8 +66,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithArrayInput(request, body); return imp.createUsersWithArrayInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -86,24 +83,17 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithListInput(request, body); return imp.createUsersWithListInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
public Result deleteUser(Http.Request request, String username) throws Exception { public Result deleteUser(Http.Request request, String username) throws Exception {
imp.deleteUser(request, username); return imp.deleteUserHttp(request, username);
return ok();
} }
@ApiAction @ApiAction
public Result getUserByName(Http.Request request, String username) throws Exception { public Result getUserByName(Http.Request request, String username) throws Exception {
User obj = imp.getUserByName(request, username); return imp.getUserByNameHttp(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -122,15 +112,12 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'password' parameter is required"); throw new IllegalArgumentException("'password' parameter is required");
} }
String obj = imp.loginUser(request, username, password); return imp.loginUserHttp(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result logoutUser(Http.Request request) throws Exception { public Result logoutUser(Http.Request request) throws Exception {
imp.logoutUser(request); return imp.logoutUserHttp(request);
return ok();
} }
@ApiAction @ApiAction
@ -145,7 +132,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updateUser(request, username, body); return imp.updateUserHttp(request, username, body);
return ok();
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp implements UserApiControllerImpInterface { public class UserApiControllerImp extends UserApiControllerImpInterface {
@Override @Override
public void createUser(Http.Request request, User body) throws Exception { public void createUser(Http.Request request, User body) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,29 +3,94 @@ package com.puppies.store.apis;
import java.util.List; import java.util.List;
import apimodels.User; import apimodels.User;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface UserApiControllerImpInterface { public abstract class UserApiControllerImpInterface {
void createUser(Http.Request request, User body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception; public Result createUserHttp(Http.Request request, User body) throws Exception {
createUser(request, body);
void createUsersWithListInput(Http.Request request, List<User> body) throws Exception; return ok();
void deleteUser(Http.Request request, String username) throws Exception; }
User getUserByName(Http.Request request, String username) throws Exception; public abstract void createUser(Http.Request request, User body) throws Exception;
String loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception; public Result createUsersWithArrayInputHttp(Http.Request request, List<User> body) throws Exception {
createUsersWithArrayInput(request, body);
void logoutUser(Http.Request request) throws Exception; return ok();
void updateUser(Http.Request request, String username, User body) throws Exception; }
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception;
public Result createUsersWithListInputHttp(Http.Request request, List<User> body) throws Exception {
createUsersWithListInput(request, body);
return ok();
}
public abstract void createUsersWithListInput(Http.Request request, List<User> body) throws Exception;
public Result deleteUserHttp(Http.Request request, String username) throws Exception {
deleteUser(request, username);
return ok();
}
public abstract void deleteUser(Http.Request request, String username) throws Exception;
public Result getUserByNameHttp(Http.Request request, String username) throws Exception {
User obj = getUserByName(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract User getUserByName(Http.Request request, String username) throws Exception;
public Result loginUserHttp(Http.Request request, @NotNull String username, @NotNull String password) throws Exception {
String obj = loginUser(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract String loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception;
public Result logoutUserHttp(Http.Request request) throws Exception {
logoutUser(request);
return ok();
}
public abstract void logoutUser(Http.Request request) throws Exception;
public Result updateUserHttp(Http.Request request, String username, User body) throws Exception {
updateUser(request, username, body);
return ok();
}
public abstract void updateUser(Http.Request request, String username, User body) throws Exception;
} }

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -29,7 +30,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final PetApiControllerImpInterface imp; private final PetApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -41,7 +41,6 @@ public class PetApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public CompletionStage<Result> addPet(Http.Request request) throws Exception { public CompletionStage<Result> addPet(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -54,10 +53,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
return CompletableFuture.supplyAsync(() -> { return imp.addPetHttp(request, body);
imp.addPet(request, body);
return ok();
});
} }
@ApiAction @ApiAction
@ -69,10 +65,7 @@ public class PetApiController extends Controller {
} else { } else {
apiKey = null; apiKey = null;
} }
return CompletableFuture.supplyAsync(() -> { return imp.deletePetHttp(request, petId, apiKey);
imp.deletePet(request, petId, apiKey);
return ok();
});
} }
@ApiAction @ApiAction
@ -89,18 +82,7 @@ public class PetApiController extends Controller {
status.add(curParam); status.add(curParam);
} }
} }
CompletionStage<List<Pet>> stage = imp.findPetsByStatus(request, status).thenApply(obj -> { return imp.findPetsByStatusHttp(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
@ApiAction @ApiAction
@ -117,32 +99,12 @@ public class PetApiController extends Controller {
tags.add(curParam); tags.add(curParam);
} }
} }
CompletionStage<List<Pet>> stage = imp.findPetsByTags(request, tags).thenApply(obj -> { return imp.findPetsByTagsHttp(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
@ApiAction @ApiAction
public CompletionStage<Result> getPetById(Http.Request request, Long petId) throws Exception { public CompletionStage<Result> getPetById(Http.Request request, Long petId) throws Exception {
CompletionStage<Pet> stage = imp.getPetById(request, petId).thenApply(obj -> { return imp.getPetByIdHttp(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
@ApiAction @ApiAction
@ -157,10 +119,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
return CompletableFuture.supplyAsync(() -> { return imp.updatePetHttp(request, body);
imp.updatePet(request, body);
return ok();
});
} }
@ApiAction @ApiAction
@ -179,10 +138,7 @@ public class PetApiController extends Controller {
} else { } else {
status = null; status = null;
} }
return CompletableFuture.supplyAsync(() -> { return imp.updatePetWithFormHttp(request, petId, name, status);
imp.updatePetWithForm(request, petId, name, status);
return ok();
});
} }
@ApiAction @ApiAction
@ -194,16 +150,9 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
CompletionStage<ModelApiResponse> stage = imp.uploadFile(request, petId, additionalMetadata, file).thenApply(obj -> { Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
if (configuration.getBoolean("useOutputBeanValidation")) { return imp.uploadFileHttp(request, petId, additionalMetadata, file);
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
} }

View File

@ -10,11 +10,12 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp implements PetApiControllerImpInterface { public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override @Override
public void addPet(Http.Request request, Pet body) throws Exception { public void addPet(Http.Request request, Pet body) throws Exception {
//Do your magic!!! //Do your magic!!!
@ -60,7 +61,7 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
} }
@Override @Override
public CompletionStage<ModelApiResponse> uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception { public CompletionStage<ModelApiResponse> uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
//Do your magic!!! //Do your magic!!!
return CompletableFuture.supplyAsync(() -> { return CompletableFuture.supplyAsync(() -> {
return new ModelApiResponse(); return new ModelApiResponse();

View File

@ -4,31 +4,135 @@ import java.io.InputStream;
import apimodels.ModelApiResponse; import apimodels.ModelApiResponse;
import apimodels.Pet; import apimodels.Pet;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface PetApiControllerImpInterface { public abstract class PetApiControllerImpInterface {
void addPet(Http.Request request, Pet body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void deletePet(Http.Request request, Long petId, String apiKey) throws Exception; public CompletionStage<Result> addPetHttp(Http.Request request, Pet body) throws Exception {
return CompletableFuture.supplyAsync(() -> {
CompletionStage<List<Pet>> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception; addPet(request, body);
return ok();
CompletionStage<List<Pet>> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception; });
CompletionStage<Pet> getPetById(Http.Request request, Long petId) throws Exception; }
void updatePet(Http.Request request, Pet body) throws Exception; public abstract void addPet(Http.Request request, Pet body) throws Exception;
void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception; public CompletionStage<Result> deletePetHttp(Http.Request request, Long petId, String apiKey) throws Exception {
return CompletableFuture.supplyAsync(() -> {
CompletionStage<ModelApiResponse> uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception; deletePet(request, petId, apiKey);
return ok();
});
}
public abstract void deletePet(Http.Request request, Long petId, String apiKey) throws Exception;
public CompletionStage<Result> findPetsByStatusHttp(Http.Request request, @NotNull List<String> status) throws Exception {
CompletionStage<List<Pet>> stage = findPetsByStatus(request, status).thenApply(obj -> {
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<List<Pet>> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception;
public CompletionStage<Result> findPetsByTagsHttp(Http.Request request, @NotNull List<String> tags) throws Exception {
CompletionStage<List<Pet>> stage = findPetsByTags(request, tags).thenApply(obj -> {
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<List<Pet>> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception;
public CompletionStage<Result> getPetByIdHttp(Http.Request request, Long petId) throws Exception {
CompletionStage<Pet> stage = getPetById(request, petId).thenApply(obj -> {
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<Pet> getPetById(Http.Request request, Long petId) throws Exception;
public CompletionStage<Result> updatePetHttp(Http.Request request, Pet body) throws Exception {
return CompletableFuture.supplyAsync(() -> {
updatePet(request, body);
return ok();
});
}
public abstract void updatePet(Http.Request request, Pet body) throws Exception;
public CompletionStage<Result> updatePetWithFormHttp(Http.Request request, Long petId, String name, String status) throws Exception {
return CompletableFuture.supplyAsync(() -> {
updatePetWithForm(request, petId, name, status);
return ok();
});
}
public abstract void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception;
public CompletionStage<Result> uploadFileHttp(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
CompletionStage<ModelApiResponse> stage = uploadFile(request, petId, additionalMetadata, file).thenApply(obj -> {
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<ModelApiResponse> uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -28,7 +29,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final StoreApiControllerImpInterface imp; private final StoreApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -40,38 +40,19 @@ public class StoreApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public CompletionStage<Result> deleteOrder(Http.Request request, String orderId) throws Exception { public CompletionStage<Result> deleteOrder(Http.Request request, String orderId) throws Exception {
return CompletableFuture.supplyAsync(() -> { return imp.deleteOrderHttp(request, orderId);
imp.deleteOrder(request, orderId);
return ok();
});
} }
@ApiAction @ApiAction
public CompletionStage<Result> getInventory(Http.Request request) throws Exception { public CompletionStage<Result> getInventory(Http.Request request) throws Exception {
CompletionStage<Map<String, Integer>> stage = imp.getInventory(request).thenApply(obj -> { return imp.getInventoryHttp(request);
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
@ApiAction @ApiAction
public CompletionStage<Result> getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception { public CompletionStage<Result> getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
CompletionStage<Order> stage = imp.getOrderById(request, orderId).thenApply(obj -> { return imp.getOrderByIdHttp(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
@ApiAction @ApiAction
@ -86,15 +67,7 @@ public class StoreApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
CompletionStage<Order> stage = imp.placeOrder(request, body).thenApply(obj -> { return imp.placeOrderHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
} }

View File

@ -9,11 +9,12 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp implements StoreApiControllerImpInterface { public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override @Override
public void deleteOrder(Http.Request request, String orderId) throws Exception { public void deleteOrder(Http.Request request, String orderId) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,23 +3,82 @@ package controllers;
import java.util.Map; import java.util.Map;
import apimodels.Order; import apimodels.Order;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface StoreApiControllerImpInterface { public abstract class StoreApiControllerImpInterface {
void deleteOrder(Http.Request request, String orderId) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
CompletionStage<Map<String, Integer>> getInventory(Http.Request request) throws Exception; public CompletionStage<Result> deleteOrderHttp(Http.Request request, String orderId) throws Exception {
return CompletableFuture.supplyAsync(() -> {
CompletionStage<Order> getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception; deleteOrder(request, orderId);
return ok();
CompletionStage<Order> placeOrder(Http.Request request, Order body) throws Exception; });
}
public abstract void deleteOrder(Http.Request request, String orderId) throws Exception;
public CompletionStage<Result> getInventoryHttp(Http.Request request) throws Exception {
CompletionStage<Map<String, Integer>> stage = getInventory(request).thenApply(obj -> {
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<Map<String, Integer>> getInventory(Http.Request request) throws Exception;
public CompletionStage<Result> getOrderByIdHttp(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
CompletionStage<Order> stage = getOrderById(request, orderId).thenApply(obj -> {
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<Order> getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception;
public CompletionStage<Result> placeOrderHttp(Http.Request request, Order body) throws Exception {
CompletionStage<Order> stage = placeOrder(request, body).thenApply(obj -> {
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<Order> placeOrder(Http.Request request, Order body) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -28,7 +29,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller { public class UserApiController extends Controller {
private final UserApiControllerImpInterface imp; private final UserApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -40,7 +40,6 @@ public class UserApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public CompletionStage<Result> createUser(Http.Request request) throws Exception { public CompletionStage<Result> createUser(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -53,10 +52,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
return CompletableFuture.supplyAsync(() -> { return imp.createUserHttp(request, body);
imp.createUser(request, body);
return ok();
});
} }
@ApiAction @ApiAction
@ -73,10 +69,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
return CompletableFuture.supplyAsync(() -> { return imp.createUsersWithArrayInputHttp(request, body);
imp.createUsersWithArrayInput(request, body);
return ok();
});
} }
@ApiAction @ApiAction
@ -93,32 +86,17 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
return CompletableFuture.supplyAsync(() -> { return imp.createUsersWithListInputHttp(request, body);
imp.createUsersWithListInput(request, body);
return ok();
});
} }
@ApiAction @ApiAction
public CompletionStage<Result> deleteUser(Http.Request request, String username) throws Exception { public CompletionStage<Result> deleteUser(Http.Request request, String username) throws Exception {
return CompletableFuture.supplyAsync(() -> { return imp.deleteUserHttp(request, username);
imp.deleteUser(request, username);
return ok();
});
} }
@ApiAction @ApiAction
public CompletionStage<Result> getUserByName(Http.Request request, String username) throws Exception { public CompletionStage<Result> getUserByName(Http.Request request, String username) throws Exception {
CompletionStage<User> stage = imp.getUserByName(request, username).thenApply(obj -> { return imp.getUserByNameHttp(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
@ApiAction @ApiAction
@ -137,21 +115,12 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'password' parameter is required"); throw new IllegalArgumentException("'password' parameter is required");
} }
CompletionStage<String> stage = imp.loginUser(request, username, password).thenApply(obj -> { return imp.loginUserHttp(request, username, password);
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
} }
@ApiAction @ApiAction
public CompletionStage<Result> logoutUser(Http.Request request) throws Exception { public CompletionStage<Result> logoutUser(Http.Request request) throws Exception {
return CompletableFuture.supplyAsync(() -> { return imp.logoutUserHttp(request);
imp.logoutUser(request);
return ok();
});
} }
@ApiAction @ApiAction
@ -166,9 +135,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
return CompletableFuture.supplyAsync(() -> { return imp.updateUserHttp(request, username, body);
imp.updateUser(request, username, body);
return ok();
});
} }
} }

View File

@ -9,11 +9,12 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp implements UserApiControllerImpInterface { public class UserApiControllerImp extends UserApiControllerImpInterface {
@Override @Override
public void createUser(Http.Request request, User body) throws Exception { public void createUser(Http.Request request, User body) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,31 +3,116 @@ package controllers;
import java.util.List; import java.util.List;
import apimodels.User; import apimodels.User;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage; import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface UserApiControllerImpInterface { public abstract class UserApiControllerImpInterface {
void createUser(Http.Request request, User body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception; public CompletionStage<Result> createUserHttp(Http.Request request, User body) throws Exception {
return CompletableFuture.supplyAsync(() -> {
void createUsersWithListInput(Http.Request request, List<User> body) throws Exception; createUser(request, body);
return ok();
void deleteUser(Http.Request request, String username) throws Exception; });
CompletionStage<User> getUserByName(Http.Request request, String username) throws Exception; }
CompletionStage<String> loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception; public abstract void createUser(Http.Request request, User body) throws Exception;
void logoutUser(Http.Request request) throws Exception; public CompletionStage<Result> createUsersWithArrayInputHttp(Http.Request request, List<User> body) throws Exception {
return CompletableFuture.supplyAsync(() -> {
void updateUser(Http.Request request, String username, User body) throws Exception; createUsersWithArrayInput(request, body);
return ok();
});
}
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception;
public CompletionStage<Result> createUsersWithListInputHttp(Http.Request request, List<User> body) throws Exception {
return CompletableFuture.supplyAsync(() -> {
createUsersWithListInput(request, body);
return ok();
});
}
public abstract void createUsersWithListInput(Http.Request request, List<User> body) throws Exception;
public CompletionStage<Result> deleteUserHttp(Http.Request request, String username) throws Exception {
return CompletableFuture.supplyAsync(() -> {
deleteUser(request, username);
return ok();
});
}
public abstract void deleteUser(Http.Request request, String username) throws Exception;
public CompletionStage<Result> getUserByNameHttp(Http.Request request, String username) throws Exception {
CompletionStage<User> stage = getUserByName(request, username).thenApply(obj -> {
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<User> getUserByName(Http.Request request, String username) throws Exception;
public CompletionStage<Result> loginUserHttp(Http.Request request, @NotNull String username, @NotNull String password) throws Exception {
CompletionStage<String> stage = loginUser(request, username, password).thenApply(obj -> {
return obj;
});
stage.thenApply(obj -> {
JsonNode result = mapper.valueToTree(obj);
return ok(result);
});
}
public abstract CompletionStage<String> loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception;
public CompletionStage<Result> logoutUserHttp(Http.Request request) throws Exception {
return CompletableFuture.supplyAsync(() -> {
logoutUser(request);
return ok();
});
}
public abstract void logoutUser(Http.Request request) throws Exception;
public CompletionStage<Result> updateUserHttp(Http.Request request, String username, User body) throws Exception {
return CompletableFuture.supplyAsync(() -> {
updateUser(request, username, body);
return ok();
});
}
public abstract void updateUser(Http.Request request, String username, User body) throws Exception;
} }

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -36,7 +36,6 @@ public class PetApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result addPet(Http.Request request) throws Exception { public Result addPet(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -146,7 +145,9 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
return ok(); return ok();
} }
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -35,7 +35,6 @@ public class StoreApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result deleteOrder(Http.Request request, String orderId) throws Exception { public Result deleteOrder(Http.Request request, String orderId) throws Exception {
return ok(); return ok();
@ -65,4 +64,5 @@ public class StoreApiController extends Controller {
} }
return ok(); return ok();
} }
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller { public class UserApiController extends Controller {
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -35,7 +35,6 @@ public class UserApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result createUser(Http.Request request) throws Exception { public Result createUser(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -133,4 +132,5 @@ public class UserApiController extends Controller {
} }
return ok(); return ok();
} }
} }

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -14,6 +14,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -24,7 +25,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class AnotherFakeApiController extends Controller { public class AnotherFakeApiController extends Controller {
private final AnotherFakeApiControllerImpInterface imp; private final AnotherFakeApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -36,7 +36,6 @@ public class AnotherFakeApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result call123testSpecialTags(Http.Request request) throws Exception { public Result call123testSpecialTags(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -49,11 +48,7 @@ public class AnotherFakeApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Client obj = imp.call123testSpecialTags(request, body); return imp.call123testSpecialTagsHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -8,9 +8,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class AnotherFakeApiControllerImp implements AnotherFakeApiControllerImpInterface { public class AnotherFakeApiControllerImp extends AnotherFakeApiControllerImpInterface {
@Override @Override
public Client call123testSpecialTags(Http.Request request, Client body) throws Exception { public Client call123testSpecialTags(Http.Request request, Client body) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -2,15 +2,37 @@ package controllers;
import apimodels.Client; import apimodels.Client;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface AnotherFakeApiControllerImpInterface { public abstract class AnotherFakeApiControllerImpInterface {
Client call123testSpecialTags(Http.Request request, Client body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
public Result call123testSpecialTagsHttp(Http.Request request, Client body) throws Exception {
Client obj = call123testSpecialTags(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Client call123testSpecialTags(Http.Request request, Client body) throws Exception;
} }

View File

@ -23,6 +23,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -33,7 +34,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class FakeApiController extends Controller { public class FakeApiController extends Controller {
private final FakeApiControllerImpInterface imp; private final FakeApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -45,7 +45,6 @@ public class FakeApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result createXmlItem(Http.Request request) throws Exception { public Result createXmlItem(Http.Request request) throws Exception {
JsonNode nodexmlItem = request.body().asJson(); JsonNode nodexmlItem = request.body().asJson();
@ -58,8 +57,7 @@ public class FakeApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'XmlItem' parameter is required"); throw new IllegalArgumentException("'XmlItem' parameter is required");
} }
imp.createXmlItem(request, xmlItem); return imp.createXmlItemHttp(request, xmlItem);
return ok();
} }
@ApiAction @ApiAction
@ -74,9 +72,7 @@ public class FakeApiController extends Controller {
} else { } else {
body = null; body = null;
} }
Boolean obj = imp.fakeOuterBooleanSerialize(request, body); return imp.fakeOuterBooleanSerializeHttp(request, body);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -91,12 +87,7 @@ public class FakeApiController extends Controller {
} else { } else {
body = null; body = null;
} }
OuterComposite obj = imp.fakeOuterCompositeSerialize(request, body); return imp.fakeOuterCompositeSerializeHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -111,12 +102,7 @@ public class FakeApiController extends Controller {
} else { } else {
body = null; body = null;
} }
BigDecimal obj = imp.fakeOuterNumberSerialize(request, body); return imp.fakeOuterNumberSerializeHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -131,9 +117,7 @@ public class FakeApiController extends Controller {
} else { } else {
body = null; body = null;
} }
String obj = imp.fakeOuterStringSerialize(request, body); return imp.fakeOuterStringSerializeHttp(request, body);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -148,8 +132,7 @@ public class FakeApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.testBodyWithFileSchema(request, body); return imp.testBodyWithFileSchemaHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -171,8 +154,7 @@ public class FakeApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'query' parameter is required"); throw new IllegalArgumentException("'query' parameter is required");
} }
imp.testBodyWithQueryParams(request, query, body); return imp.testBodyWithQueryParamsHttp(request, query, body);
return ok();
} }
@ApiAction @ApiAction
@ -187,12 +169,7 @@ public class FakeApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Client obj = imp.testClientModel(request, body); return imp.testClientModelHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -260,7 +237,8 @@ public class FakeApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'byte' parameter is required"); throw new IllegalArgumentException("'byte' parameter is required");
} }
Http.MultipartFormData.FilePart binary = request.body().asMultipartFormData().getFile("binary"); Http.MultipartFormData<TemporaryFile> bodybinary = request.body().asMultipartFormData();
Http.MultipartFormData.FilePart<TemporaryFile> binary = bodybinary.getFile("binary");
String valuedate = (request.body().asMultipartFormData().asFormUrlEncoded().get("date"))[0]; String valuedate = (request.body().asMultipartFormData().asFormUrlEncoded().get("date"))[0];
LocalDate date; LocalDate date;
if (valuedate != null) { if (valuedate != null) {
@ -289,8 +267,7 @@ public class FakeApiController extends Controller {
} else { } else {
paramCallback = null; paramCallback = null;
} }
imp.testEndpointParameters(request, number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, string, binary, date, dateTime, password, paramCallback); return imp.testEndpointParametersHttp(request, number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, string, binary, date, dateTime, password, paramCallback);
return ok();
} }
@ApiAction @ApiAction
@ -357,8 +334,7 @@ public class FakeApiController extends Controller {
} else { } else {
enumHeaderString = "-efg"; enumHeaderString = "-efg";
} }
imp.testEnumParameters(request, enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString); return imp.testEnumParametersHttp(request, enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString);
return ok();
} }
@ApiAction @ApiAction
@ -405,8 +381,7 @@ public class FakeApiController extends Controller {
} else { } else {
booleanGroup = null; booleanGroup = null;
} }
imp.testGroupParameters(request, requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group); return imp.testGroupParametersHttp(request, requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group);
return ok();
} }
@ApiAction @ApiAction
@ -423,8 +398,7 @@ public class FakeApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'param' parameter is required"); throw new IllegalArgumentException("'param' parameter is required");
} }
imp.testInlineAdditionalProperties(request, param); return imp.testInlineAdditionalPropertiesHttp(request, param);
return ok();
} }
@ApiAction @ApiAction
@ -443,8 +417,7 @@ public class FakeApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'param2' parameter is required"); throw new IllegalArgumentException("'param2' parameter is required");
} }
imp.testJsonFormData(request, param, param2); return imp.testJsonFormDataHttp(request, param, param2);
return ok();
} }
@ApiAction @ApiAction
@ -509,7 +482,7 @@ public class FakeApiController extends Controller {
context.add(curParam); context.add(curParam);
} }
} }
imp.testQueryParameterCollectionFormat(request, pipe, ioutil, http, url, context); return imp.testQueryParameterCollectionFormatHttp(request, pipe, ioutil, http, url, context);
return ok();
} }
} }

View File

@ -17,9 +17,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class FakeApiControllerImp implements FakeApiControllerImpInterface { public class FakeApiControllerImp extends FakeApiControllerImpInterface {
@Override @Override
public void createXmlItem(Http.Request request, XmlItem xmlItem) throws Exception { public void createXmlItem(Http.Request request, XmlItem xmlItem) throws Exception {
//Do your magic!!! //Do your magic!!!
@ -66,7 +67,7 @@ public class FakeApiControllerImp implements FakeApiControllerImpInterface {
} }
@Override @Override
public void testEndpointParameters(Http.Request request, BigDecimal number, Double _double, String patternWithoutDelimiter, byte[] _byte, Integer integer, Integer int32, Long int64, Float _float, String string, Http.MultipartFormData.FilePart binary, LocalDate date, OffsetDateTime dateTime, String password, String paramCallback) throws Exception { public void testEndpointParameters(Http.Request request, BigDecimal number, Double _double, String patternWithoutDelimiter, byte[] _byte, Integer integer, Integer int32, Long int64, Float _float, String string, Http.MultipartFormData.FilePart<TemporaryFile> binary, LocalDate date, OffsetDateTime dateTime, String password, String paramCallback) throws Exception {
//Do your magic!!! //Do your magic!!!
} }

View File

@ -11,41 +11,151 @@ import apimodels.OuterComposite;
import apimodels.User; import apimodels.User;
import apimodels.XmlItem; import apimodels.XmlItem;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface FakeApiControllerImpInterface { public abstract class FakeApiControllerImpInterface {
void createXmlItem(Http.Request request, XmlItem xmlItem) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
Boolean fakeOuterBooleanSerialize(Http.Request request, Boolean body) throws Exception; public Result createXmlItemHttp(Http.Request request, XmlItem xmlItem) throws Exception {
createXmlItem(request, xmlItem);
OuterComposite fakeOuterCompositeSerialize(Http.Request request, OuterComposite body) throws Exception; return ok();
BigDecimal fakeOuterNumberSerialize(Http.Request request, BigDecimal body) throws Exception; }
String fakeOuterStringSerialize(Http.Request request, String body) throws Exception; public abstract void createXmlItem(Http.Request request, XmlItem xmlItem) throws Exception;
void testBodyWithFileSchema(Http.Request request, FileSchemaTestClass body) throws Exception; public Result fakeOuterBooleanSerializeHttp(Http.Request request, Boolean body) throws Exception {
Boolean obj = fakeOuterBooleanSerialize(request, body);
void testBodyWithQueryParams(Http.Request request, @NotNull String query, User body) throws Exception; JsonNode result = mapper.valueToTree(obj);
return ok(result);
Client testClientModel(Http.Request request, Client body) throws Exception;
}
void testEndpointParameters(Http.Request request, BigDecimal number, Double _double, String patternWithoutDelimiter, byte[] _byte, Integer integer, Integer int32, Long int64, Float _float, String string, Http.MultipartFormData.FilePart binary, LocalDate date, OffsetDateTime dateTime, String password, String paramCallback) throws Exception;
public abstract Boolean fakeOuterBooleanSerialize(Http.Request request, Boolean body) throws Exception;
void testEnumParameters(Http.Request request, List<String> enumHeaderStringArray, String enumHeaderString, List<String> enumQueryStringArray, String enumQueryString, Integer enumQueryInteger, Double enumQueryDouble, List<String> enumFormStringArray, String enumFormString) throws Exception;
public Result fakeOuterCompositeSerializeHttp(Http.Request request, OuterComposite body) throws Exception {
void testGroupParameters(Http.Request request, @NotNull Integer requiredStringGroup, Boolean requiredBooleanGroup, @NotNull Long requiredInt64Group, Integer stringGroup, Boolean booleanGroup, Long int64Group) throws Exception; OuterComposite obj = fakeOuterCompositeSerialize(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
void testInlineAdditionalProperties(Http.Request request, Map<String, String> param) throws Exception; OpenAPIUtils.validate(obj);
}
void testJsonFormData(Http.Request request, String param, String param2) throws Exception; JsonNode result = mapper.valueToTree(obj);
return ok(result);
void testQueryParameterCollectionFormat(Http.Request request, @NotNull List<String> pipe, @NotNull List<String> ioutil, @NotNull List<String> http, @NotNull List<String> url, @NotNull List<String> context) throws Exception;
}
public abstract OuterComposite fakeOuterCompositeSerialize(Http.Request request, OuterComposite body) throws Exception;
public Result fakeOuterNumberSerializeHttp(Http.Request request, BigDecimal body) throws Exception {
BigDecimal obj = fakeOuterNumberSerialize(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract BigDecimal fakeOuterNumberSerialize(Http.Request request, BigDecimal body) throws Exception;
public Result fakeOuterStringSerializeHttp(Http.Request request, String body) throws Exception {
String obj = fakeOuterStringSerialize(request, body);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract String fakeOuterStringSerialize(Http.Request request, String body) throws Exception;
public Result testBodyWithFileSchemaHttp(Http.Request request, FileSchemaTestClass body) throws Exception {
testBodyWithFileSchema(request, body);
return ok();
}
public abstract void testBodyWithFileSchema(Http.Request request, FileSchemaTestClass body) throws Exception;
public Result testBodyWithQueryParamsHttp(Http.Request request, @NotNull String query, User body) throws Exception {
testBodyWithQueryParams(request, query, body);
return ok();
}
public abstract void testBodyWithQueryParams(Http.Request request, @NotNull String query, User body) throws Exception;
public Result testClientModelHttp(Http.Request request, Client body) throws Exception {
Client obj = testClientModel(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Client testClientModel(Http.Request request, Client body) throws Exception;
public Result testEndpointParametersHttp(Http.Request request, BigDecimal number, Double _double, String patternWithoutDelimiter, byte[] _byte, Integer integer, Integer int32, Long int64, Float _float, String string, Http.MultipartFormData.FilePart<TemporaryFile> binary, LocalDate date, OffsetDateTime dateTime, String password, String paramCallback) throws Exception {
testEndpointParameters(request, number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, string, binary, date, dateTime, password, paramCallback);
return ok();
}
public abstract void testEndpointParameters(Http.Request request, BigDecimal number, Double _double, String patternWithoutDelimiter, byte[] _byte, Integer integer, Integer int32, Long int64, Float _float, String string, Http.MultipartFormData.FilePart<TemporaryFile> binary, LocalDate date, OffsetDateTime dateTime, String password, String paramCallback) throws Exception;
public Result testEnumParametersHttp(Http.Request request, List<String> enumHeaderStringArray, String enumHeaderString, List<String> enumQueryStringArray, String enumQueryString, Integer enumQueryInteger, Double enumQueryDouble, List<String> enumFormStringArray, String enumFormString) throws Exception {
testEnumParameters(request, enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble, enumFormStringArray, enumFormString);
return ok();
}
public abstract void testEnumParameters(Http.Request request, List<String> enumHeaderStringArray, String enumHeaderString, List<String> enumQueryStringArray, String enumQueryString, Integer enumQueryInteger, Double enumQueryDouble, List<String> enumFormStringArray, String enumFormString) throws Exception;
public Result testGroupParametersHttp(Http.Request request, @NotNull Integer requiredStringGroup, Boolean requiredBooleanGroup, @NotNull Long requiredInt64Group, Integer stringGroup, Boolean booleanGroup, Long int64Group) throws Exception {
testGroupParameters(request, requiredStringGroup, requiredBooleanGroup, requiredInt64Group, stringGroup, booleanGroup, int64Group);
return ok();
}
public abstract void testGroupParameters(Http.Request request, @NotNull Integer requiredStringGroup, Boolean requiredBooleanGroup, @NotNull Long requiredInt64Group, Integer stringGroup, Boolean booleanGroup, Long int64Group) throws Exception;
public Result testInlineAdditionalPropertiesHttp(Http.Request request, Map<String, String> param) throws Exception {
testInlineAdditionalProperties(request, param);
return ok();
}
public abstract void testInlineAdditionalProperties(Http.Request request, Map<String, String> param) throws Exception;
public Result testJsonFormDataHttp(Http.Request request, String param, String param2) throws Exception {
testJsonFormData(request, param, param2);
return ok();
}
public abstract void testJsonFormData(Http.Request request, String param, String param2) throws Exception;
public Result testQueryParameterCollectionFormatHttp(Http.Request request, @NotNull List<String> pipe, @NotNull List<String> ioutil, @NotNull List<String> http, @NotNull List<String> url, @NotNull List<String> context) throws Exception {
testQueryParameterCollectionFormat(request, pipe, ioutil, http, url, context);
return ok();
}
public abstract void testQueryParameterCollectionFormat(Http.Request request, @NotNull List<String> pipe, @NotNull List<String> ioutil, @NotNull List<String> http, @NotNull List<String> url, @NotNull List<String> context) throws Exception;
} }

View File

@ -14,6 +14,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -24,7 +25,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class FakeClassnameTags123ApiController extends Controller { public class FakeClassnameTags123ApiController extends Controller {
private final FakeClassnameTags123ApiControllerImpInterface imp; private final FakeClassnameTags123ApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -36,7 +36,6 @@ public class FakeClassnameTags123ApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result testClassname(Http.Request request) throws Exception { public Result testClassname(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -49,11 +48,7 @@ public class FakeClassnameTags123ApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Client obj = imp.testClassname(request, body); return imp.testClassnameHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -8,9 +8,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class FakeClassnameTags123ApiControllerImp implements FakeClassnameTags123ApiControllerImpInterface { public class FakeClassnameTags123ApiControllerImp extends FakeClassnameTags123ApiControllerImpInterface {
@Override @Override
public Client testClassname(Http.Request request, Client body) throws Exception { public Client testClassname(Http.Request request, Client body) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -2,15 +2,37 @@ package controllers;
import apimodels.Client; import apimodels.Client;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface FakeClassnameTags123ApiControllerImpInterface { public abstract class FakeClassnameTags123ApiControllerImpInterface {
Client testClassname(Http.Request request, Client body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
public Result testClassnameHttp(Http.Request request, Client body) throws Exception {
Client obj = testClassname(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Client testClassname(Http.Request request, Client body) throws Exception;
} }

View File

@ -17,6 +17,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -27,7 +28,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final PetApiControllerImpInterface imp; private final PetApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -39,7 +39,6 @@ public class PetApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result addPet(Http.Request request) throws Exception { public Result addPet(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -52,8 +51,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.addPet(request, body); return imp.addPetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -65,8 +63,7 @@ public class PetApiController extends Controller {
} else { } else {
apiKey = null; apiKey = null;
} }
imp.deletePet(request, petId, apiKey); return imp.deletePetHttp(request, petId, apiKey);
return ok();
} }
@ApiAction @ApiAction
@ -83,14 +80,7 @@ public class PetApiController extends Controller {
status.add(curParam); status.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByStatus(request, status); return imp.findPetsByStatusHttp(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -107,24 +97,12 @@ public class PetApiController extends Controller {
tags.add(curParam); tags.add(curParam);
} }
} }
Set<Pet> obj = imp.findPetsByTags(request, tags); return imp.findPetsByTagsHttp(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getPetById(Http.Request request, Long petId) throws Exception { public Result getPetById(Http.Request request, Long petId) throws Exception {
Pet obj = imp.getPetById(request, petId); return imp.getPetByIdHttp(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -139,8 +117,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updatePet(request, body); return imp.updatePetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -159,8 +136,7 @@ public class PetApiController extends Controller {
} else { } else {
status = null; status = null;
} }
imp.updatePetWithForm(request, petId, name, status); return imp.updatePetWithFormHttp(request, petId, name, status);
return ok();
} }
@ApiAction @ApiAction
@ -172,13 +148,9 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file); Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
if (configuration.getBoolean("useOutputBeanValidation")) { return imp.uploadFileHttp(request, petId, additionalMetadata, file);
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -190,15 +162,12 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart requiredFile = request.body().asMultipartFormData().getFile("requiredFile"); Http.MultipartFormData<TemporaryFile> bodyrequiredFile = request.body().asMultipartFormData();
if ((requiredFile == null || ((File) requiredFile.getFile()).length() == 0)) { Http.MultipartFormData.FilePart<TemporaryFile> requiredFile = bodyrequiredFile.getFile("requiredFile");
if ((requiredFile == null || requiredFile.getFileSize() == 0)) {
throw new IllegalArgumentException("'requiredFile' file cannot be empty"); throw new IllegalArgumentException("'requiredFile' file cannot be empty");
} }
ModelApiResponse obj = imp.uploadFileWithRequiredFile(request, petId, requiredFile, additionalMetadata); return imp.uploadFileWithRequiredFileHttp(request, petId, requiredFile, additionalMetadata);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -11,9 +11,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp implements PetApiControllerImpInterface { public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override @Override
public void addPet(Http.Request request, Pet body) throws Exception { public void addPet(Http.Request request, Pet body) throws Exception {
//Do your magic!!! //Do your magic!!!
@ -53,13 +54,13 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
} }
@Override @Override
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception { public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
//Do your magic!!! //Do your magic!!!
return new ModelApiResponse(); return new ModelApiResponse();
} }
@Override @Override
public ModelApiResponse uploadFileWithRequiredFile(Http.Request request, Long petId, Http.MultipartFormData.FilePart requiredFile, String additionalMetadata) throws Exception { public ModelApiResponse uploadFileWithRequiredFile(Http.Request request, Long petId, Http.MultipartFormData.FilePart<TemporaryFile> requiredFile, String additionalMetadata) throws Exception {
//Do your magic!!! //Do your magic!!!
return new ModelApiResponse(); return new ModelApiResponse();
} }

View File

@ -5,31 +5,121 @@ import apimodels.ModelApiResponse;
import apimodels.Pet; import apimodels.Pet;
import java.util.Set; import java.util.Set;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface PetApiControllerImpInterface { public abstract class PetApiControllerImpInterface {
void addPet(Http.Request request, Pet body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void deletePet(Http.Request request, Long petId, String apiKey) throws Exception; public Result addPetHttp(Http.Request request, Pet body) throws Exception {
addPet(request, body);
List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception; return ok();
Set<Pet> findPetsByTags(Http.Request request, @NotNull Set<String> tags) throws Exception; }
Pet getPetById(Http.Request request, Long petId) throws Exception; public abstract void addPet(Http.Request request, Pet body) throws Exception;
void updatePet(Http.Request request, Pet body) throws Exception; public Result deletePetHttp(Http.Request request, Long petId, String apiKey) throws Exception {
deletePet(request, petId, apiKey);
void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception; return ok();
ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception; }
ModelApiResponse uploadFileWithRequiredFile(Http.Request request, Long petId, Http.MultipartFormData.FilePart requiredFile, String additionalMetadata) throws Exception; public abstract void deletePet(Http.Request request, Long petId, String apiKey) throws Exception;
public Result findPetsByStatusHttp(Http.Request request, @NotNull List<String> status) throws Exception {
List<Pet> obj = findPetsByStatus(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception;
public Result findPetsByTagsHttp(Http.Request request, @NotNull Set<String> tags) throws Exception {
Set<Pet> obj = findPetsByTags(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Set<Pet> findPetsByTags(Http.Request request, @NotNull Set<String> tags) throws Exception;
public Result getPetByIdHttp(Http.Request request, Long petId) throws Exception {
Pet obj = getPetById(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Pet getPetById(Http.Request request, Long petId) throws Exception;
public Result updatePetHttp(Http.Request request, Pet body) throws Exception {
updatePet(request, body);
return ok();
}
public abstract void updatePet(Http.Request request, Pet body) throws Exception;
public Result updatePetWithFormHttp(Http.Request request, Long petId, String name, String status) throws Exception {
updatePetWithForm(request, petId, name, status);
return ok();
}
public abstract void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception;
public Result uploadFileHttp(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
ModelApiResponse obj = uploadFile(request, petId, additionalMetadata, file);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception;
public Result uploadFileWithRequiredFileHttp(Http.Request request, Long petId, Http.MultipartFormData.FilePart<TemporaryFile> requiredFile, String additionalMetadata) throws Exception {
ModelApiResponse obj = uploadFileWithRequiredFile(request, petId, requiredFile, additionalMetadata);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract ModelApiResponse uploadFileWithRequiredFile(Http.Request request, Long petId, Http.MultipartFormData.FilePart<TemporaryFile> requiredFile, String additionalMetadata) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final StoreApiControllerImpInterface imp; private final StoreApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,28 +37,19 @@ public class StoreApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result deleteOrder(Http.Request request, String orderId) throws Exception { public Result deleteOrder(Http.Request request, String orderId) throws Exception {
imp.deleteOrder(request, orderId); return imp.deleteOrderHttp(request, orderId);
return ok();
} }
@ApiAction @ApiAction
public Result getInventory(Http.Request request) throws Exception { public Result getInventory(Http.Request request) throws Exception {
Map<String, Integer> obj = imp.getInventory(request); return imp.getInventoryHttp(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception { public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
Order obj = imp.getOrderById(request, orderId); return imp.getOrderByIdHttp(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -73,11 +64,7 @@ public class StoreApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Order obj = imp.placeOrder(request, body); return imp.placeOrderHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp implements StoreApiControllerImpInterface { public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override @Override
public void deleteOrder(Http.Request request, String orderId) throws Exception { public void deleteOrder(Http.Request request, String orderId) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,21 +3,66 @@ package controllers;
import java.util.Map; import java.util.Map;
import apimodels.Order; import apimodels.Order;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface StoreApiControllerImpInterface { public abstract class StoreApiControllerImpInterface {
void deleteOrder(Http.Request request, String orderId) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
Map<String, Integer> getInventory(Http.Request request) throws Exception; public Result deleteOrderHttp(Http.Request request, String orderId) throws Exception {
deleteOrder(request, orderId);
Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception; return ok();
Order placeOrder(Http.Request request, Order body) throws Exception; }
public abstract void deleteOrder(Http.Request request, String orderId) throws Exception;
public Result getInventoryHttp(Http.Request request) throws Exception {
Map<String, Integer> obj = getInventory(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Map<String, Integer> getInventory(Http.Request request) throws Exception;
public Result getOrderByIdHttp(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
Order obj = getOrderById(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception;
public Result placeOrderHttp(Http.Request request, Order body) throws Exception {
Order obj = placeOrder(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order placeOrder(Http.Request request, Order body) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller { public class UserApiController extends Controller {
private final UserApiControllerImpInterface imp; private final UserApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,7 +37,6 @@ public class UserApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result createUser(Http.Request request) throws Exception { public Result createUser(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -50,8 +49,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUser(request, body); return imp.createUserHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -68,8 +66,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithArrayInput(request, body); return imp.createUsersWithArrayInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -86,24 +83,17 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithListInput(request, body); return imp.createUsersWithListInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
public Result deleteUser(Http.Request request, String username) throws Exception { public Result deleteUser(Http.Request request, String username) throws Exception {
imp.deleteUser(request, username); return imp.deleteUserHttp(request, username);
return ok();
} }
@ApiAction @ApiAction
public Result getUserByName(Http.Request request, String username) throws Exception { public Result getUserByName(Http.Request request, String username) throws Exception {
User obj = imp.getUserByName(request, username); return imp.getUserByNameHttp(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -122,15 +112,12 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'password' parameter is required"); throw new IllegalArgumentException("'password' parameter is required");
} }
String obj = imp.loginUser(request, username, password); return imp.loginUserHttp(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result logoutUser(Http.Request request) throws Exception { public Result logoutUser(Http.Request request) throws Exception {
imp.logoutUser(request); return imp.logoutUserHttp(request);
return ok();
} }
@ApiAction @ApiAction
@ -145,7 +132,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updateUser(request, username, body); return imp.updateUserHttp(request, username, body);
return ok();
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp implements UserApiControllerImpInterface { public class UserApiControllerImp extends UserApiControllerImpInterface {
@Override @Override
public void createUser(Http.Request request, User body) throws Exception { public void createUser(Http.Request request, User body) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,29 +3,94 @@ package controllers;
import java.util.List; import java.util.List;
import apimodels.User; import apimodels.User;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface UserApiControllerImpInterface { public abstract class UserApiControllerImpInterface {
void createUser(Http.Request request, User body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception; public Result createUserHttp(Http.Request request, User body) throws Exception {
createUser(request, body);
void createUsersWithListInput(Http.Request request, List<User> body) throws Exception; return ok();
void deleteUser(Http.Request request, String username) throws Exception; }
User getUserByName(Http.Request request, String username) throws Exception; public abstract void createUser(Http.Request request, User body) throws Exception;
String loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception; public Result createUsersWithArrayInputHttp(Http.Request request, List<User> body) throws Exception {
createUsersWithArrayInput(request, body);
void logoutUser(Http.Request request) throws Exception; return ok();
void updateUser(Http.Request request, String username, User body) throws Exception; }
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception;
public Result createUsersWithListInputHttp(Http.Request request, List<User> body) throws Exception {
createUsersWithListInput(request, body);
return ok();
}
public abstract void createUsersWithListInput(Http.Request request, List<User> body) throws Exception;
public Result deleteUserHttp(Http.Request request, String username) throws Exception {
deleteUser(request, username);
return ok();
}
public abstract void deleteUser(Http.Request request, String username) throws Exception;
public Result getUserByNameHttp(Http.Request request, String username) throws Exception {
User obj = getUserByName(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract User getUserByName(Http.Request request, String username) throws Exception;
public Result loginUserHttp(Http.Request request, @NotNull String username, @NotNull String password) throws Exception {
String obj = loginUser(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract String loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception;
public Result logoutUserHttp(Http.Request request) throws Exception {
logoutUser(request);
return ok();
}
public abstract void logoutUser(Http.Request request) throws Exception;
public Result updateUserHttp(Http.Request request, String username, User body) throws Exception {
updateUser(request, username, body);
return ok();
}
public abstract void updateUser(Http.Request request, String username, User body) throws Exception;
} }

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -24,7 +25,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final PetApiControllerImpInterface imp; private final PetApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
@ -34,7 +34,6 @@ public class PetApiController extends Controller {
mapper = new ObjectMapper(); mapper = new ObjectMapper();
} }
@ApiAction @ApiAction
public Result addPet(Http.Request request) throws Exception { public Result addPet(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -44,8 +43,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.addPet(request, body); return imp.addPetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -57,8 +55,7 @@ public class PetApiController extends Controller {
} else { } else {
apiKey = null; apiKey = null;
} }
imp.deletePet(request, petId, apiKey); return imp.deletePetHttp(request, petId, apiKey);
return ok();
} }
@ApiAction @ApiAction
@ -75,9 +72,7 @@ public class PetApiController extends Controller {
status.add(curParam); status.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByStatus(request, status); return imp.findPetsByStatusHttp(request, status);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -94,16 +89,12 @@ public class PetApiController extends Controller {
tags.add(curParam); tags.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByTags(request, tags); return imp.findPetsByTagsHttp(request, tags);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getPetById(Http.Request request, Long petId) throws Exception { public Result getPetById(Http.Request request, Long petId) throws Exception {
Pet obj = imp.getPetById(request, petId); return imp.getPetByIdHttp(request, petId);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -115,8 +106,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updatePet(request, body); return imp.updatePetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -135,8 +125,7 @@ public class PetApiController extends Controller {
} else { } else {
status = null; status = null;
} }
imp.updatePetWithForm(request, petId, name, status); return imp.updatePetWithFormHttp(request, petId, name, status);
return ok();
} }
@ApiAction @ApiAction
@ -148,9 +137,9 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file); Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
JsonNode result = mapper.valueToTree(obj); return imp.uploadFileHttp(request, petId, additionalMetadata, file);
return ok(result);
} }
} }

View File

@ -10,8 +10,9 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp implements PetApiControllerImpInterface { public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override @Override
public void addPet(Http.Request request, Pet body) throws Exception { public void addPet(Http.Request request, Pet body) throws Exception {
//Do your magic!!! //Do your magic!!!
@ -51,7 +52,7 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
} }
@Override @Override
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception { public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
//Do your magic!!! //Do your magic!!!
return new ModelApiResponse(); return new ModelApiResponse();
} }

View File

@ -4,28 +4,91 @@ import java.io.InputStream;
import apimodels.ModelApiResponse; import apimodels.ModelApiResponse;
import apimodels.Pet; import apimodels.Pet;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface PetApiControllerImpInterface { public abstract class PetApiControllerImpInterface {
void addPet(Http.Request request, Pet body) throws Exception; private ObjectMapper mapper = new ObjectMapper();
void deletePet(Http.Request request, Long petId, String apiKey) throws Exception; public Result addPetHttp(Http.Request request, Pet body) throws Exception {
addPet(request, body);
List<Pet> findPetsByStatus(Http.Request request, List<String> status) throws Exception; return ok();
List<Pet> findPetsByTags(Http.Request request, List<String> tags) throws Exception; }
Pet getPetById(Http.Request request, Long petId) throws Exception; public abstract void addPet(Http.Request request, Pet body) throws Exception;
void updatePet(Http.Request request, Pet body) throws Exception; public Result deletePetHttp(Http.Request request, Long petId, String apiKey) throws Exception {
deletePet(request, petId, apiKey);
void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception; return ok();
ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception; }
public abstract void deletePet(Http.Request request, Long petId, String apiKey) throws Exception;
public Result findPetsByStatusHttp(Http.Request request, List<String> status) throws Exception {
List<Pet> obj = findPetsByStatus(request, status);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByStatus(Http.Request request, List<String> status) throws Exception;
public Result findPetsByTagsHttp(Http.Request request, List<String> tags) throws Exception {
List<Pet> obj = findPetsByTags(request, tags);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByTags(Http.Request request, List<String> tags) throws Exception;
public Result getPetByIdHttp(Http.Request request, Long petId) throws Exception {
Pet obj = getPetById(request, petId);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Pet getPetById(Http.Request request, Long petId) throws Exception;
public Result updatePetHttp(Http.Request request, Pet body) throws Exception {
updatePet(request, body);
return ok();
}
public abstract void updatePet(Http.Request request, Pet body) throws Exception;
public Result updatePetWithFormHttp(Http.Request request, Long petId, String name, String status) throws Exception {
updatePetWithForm(request, petId, name, status);
return ok();
}
public abstract void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception;
public Result uploadFileHttp(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
ModelApiResponse obj = uploadFile(request, petId, additionalMetadata, file);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -23,7 +24,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final StoreApiControllerImpInterface imp; private final StoreApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
@ -33,25 +33,19 @@ public class StoreApiController extends Controller {
mapper = new ObjectMapper(); mapper = new ObjectMapper();
} }
@ApiAction @ApiAction
public Result deleteOrder(Http.Request request, String orderId) throws Exception { public Result deleteOrder(Http.Request request, String orderId) throws Exception {
imp.deleteOrder(request, orderId); return imp.deleteOrderHttp(request, orderId);
return ok();
} }
@ApiAction @ApiAction
public Result getInventory(Http.Request request) throws Exception { public Result getInventory(Http.Request request) throws Exception {
Map<String, Integer> obj = imp.getInventory(request); return imp.getInventoryHttp(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getOrderById(Http.Request request, Long orderId) throws Exception { public Result getOrderById(Http.Request request, Long orderId) throws Exception {
Order obj = imp.getOrderById(request, orderId); return imp.getOrderByIdHttp(request, orderId);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -63,8 +57,7 @@ public class StoreApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Order obj = imp.placeOrder(request, body); return imp.placeOrderHttp(request, body);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -9,8 +9,9 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp implements StoreApiControllerImpInterface { public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override @Override
public void deleteOrder(Http.Request request, String orderId) throws Exception { public void deleteOrder(Http.Request request, String orderId) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,20 +3,58 @@ package controllers;
import java.util.Map; import java.util.Map;
import apimodels.Order; import apimodels.Order;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface StoreApiControllerImpInterface { public abstract class StoreApiControllerImpInterface {
void deleteOrder(Http.Request request, String orderId) throws Exception; private ObjectMapper mapper = new ObjectMapper();
Map<String, Integer> getInventory(Http.Request request) throws Exception; public Result deleteOrderHttp(Http.Request request, String orderId) throws Exception {
deleteOrder(request, orderId);
Order getOrderById(Http.Request request, Long orderId) throws Exception; return ok();
Order placeOrder(Http.Request request, Order body) throws Exception; }
public abstract void deleteOrder(Http.Request request, String orderId) throws Exception;
public Result getInventoryHttp(Http.Request request) throws Exception {
Map<String, Integer> obj = getInventory(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Map<String, Integer> getInventory(Http.Request request) throws Exception;
public Result getOrderByIdHttp(Http.Request request, Long orderId) throws Exception {
Order obj = getOrderById(request, orderId);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order getOrderById(Http.Request request, Long orderId) throws Exception;
public Result placeOrderHttp(Http.Request request, Order body) throws Exception {
Order obj = placeOrder(request, body);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order placeOrder(Http.Request request, Order body) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -23,7 +24,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller { public class UserApiController extends Controller {
private final UserApiControllerImpInterface imp; private final UserApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
@ -33,7 +33,6 @@ public class UserApiController extends Controller {
mapper = new ObjectMapper(); mapper = new ObjectMapper();
} }
@ApiAction @ApiAction
public Result createUser(Http.Request request) throws Exception { public Result createUser(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -43,8 +42,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUser(request, body); return imp.createUserHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -56,8 +54,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithArrayInput(request, body); return imp.createUsersWithArrayInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -69,21 +66,17 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithListInput(request, body); return imp.createUsersWithListInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
public Result deleteUser(Http.Request request, String username) throws Exception { public Result deleteUser(Http.Request request, String username) throws Exception {
imp.deleteUser(request, username); return imp.deleteUserHttp(request, username);
return ok();
} }
@ApiAction @ApiAction
public Result getUserByName(Http.Request request, String username) throws Exception { public Result getUserByName(Http.Request request, String username) throws Exception {
User obj = imp.getUserByName(request, username); return imp.getUserByNameHttp(request, username);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -102,15 +95,12 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'password' parameter is required"); throw new IllegalArgumentException("'password' parameter is required");
} }
String obj = imp.loginUser(request, username, password); return imp.loginUserHttp(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result logoutUser(Http.Request request) throws Exception { public Result logoutUser(Http.Request request) throws Exception {
imp.logoutUser(request); return imp.logoutUserHttp(request);
return ok();
} }
@ApiAction @ApiAction
@ -122,7 +112,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updateUser(request, username, body); return imp.updateUserHttp(request, username, body);
return ok();
} }
} }

View File

@ -9,8 +9,9 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp implements UserApiControllerImpInterface { public class UserApiControllerImp extends UserApiControllerImpInterface {
@Override @Override
public void createUser(Http.Request request, User body) throws Exception { public void createUser(Http.Request request, User body) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,28 +3,89 @@ package controllers;
import java.util.List; import java.util.List;
import apimodels.User; import apimodels.User;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface UserApiControllerImpInterface { public abstract class UserApiControllerImpInterface {
void createUser(Http.Request request, User body) throws Exception; private ObjectMapper mapper = new ObjectMapper();
void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception; public Result createUserHttp(Http.Request request, User body) throws Exception {
createUser(request, body);
void createUsersWithListInput(Http.Request request, List<User> body) throws Exception; return ok();
void deleteUser(Http.Request request, String username) throws Exception; }
User getUserByName(Http.Request request, String username) throws Exception; public abstract void createUser(Http.Request request, User body) throws Exception;
String loginUser(Http.Request request, String username, String password) throws Exception; public Result createUsersWithArrayInputHttp(Http.Request request, List<User> body) throws Exception {
createUsersWithArrayInput(request, body);
void logoutUser(Http.Request request) throws Exception; return ok();
void updateUser(Http.Request request, String username, User body) throws Exception; }
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception;
public Result createUsersWithListInputHttp(Http.Request request, List<User> body) throws Exception {
createUsersWithListInput(request, body);
return ok();
}
public abstract void createUsersWithListInput(Http.Request request, List<User> body) throws Exception;
public Result deleteUserHttp(Http.Request request, String username) throws Exception {
deleteUser(request, username);
return ok();
}
public abstract void deleteUser(Http.Request request, String username) throws Exception;
public Result getUserByNameHttp(Http.Request request, String username) throws Exception {
User obj = getUserByName(request, username);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract User getUserByName(Http.Request request, String username) throws Exception;
public Result loginUserHttp(Http.Request request, String username, String password) throws Exception {
String obj = loginUser(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract String loginUser(Http.Request request, String username, String password) throws Exception;
public Result logoutUserHttp(Http.Request request) throws Exception {
logoutUser(request);
return ok();
}
public abstract void logoutUser(Http.Request request) throws Exception;
public Result updateUserHttp(Http.Request request, String username, User body) throws Exception {
updateUser(request, username, body);
return ok();
}
public abstract void updateUser(Http.Request request, String username, User body) throws Exception;
} }

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import java.io.IOException; import java.io.IOException;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -27,7 +28,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final PetApiControllerImpInterface imp; private final PetApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -39,7 +39,6 @@ public class PetApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result addPet(Http.Request request) throws IOException { public Result addPet(Http.Request request) throws IOException {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -52,8 +51,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.addPet(request, body); return imp.addPetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -65,8 +63,7 @@ public class PetApiController extends Controller {
} else { } else {
apiKey = null; apiKey = null;
} }
imp.deletePet(request, petId, apiKey); return imp.deletePetHttp(request, petId, apiKey);
return ok();
} }
@ApiAction @ApiAction
@ -83,14 +80,7 @@ public class PetApiController extends Controller {
status.add(curParam); status.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByStatus(request, status); return imp.findPetsByStatusHttp(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -107,24 +97,12 @@ public class PetApiController extends Controller {
tags.add(curParam); tags.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByTags(request, tags); return imp.findPetsByTagsHttp(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getPetById(Http.Request request, Long petId) { public Result getPetById(Http.Request request, Long petId) {
Pet obj = imp.getPetById(request, petId); return imp.getPetByIdHttp(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -139,8 +117,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updatePet(request, body); return imp.updatePetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -159,8 +136,7 @@ public class PetApiController extends Controller {
} else { } else {
status = null; status = null;
} }
imp.updatePetWithForm(request, petId, name, status); return imp.updatePetWithFormHttp(request, petId, name, status);
return ok();
} }
@ApiAction @ApiAction
@ -172,12 +148,9 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file); Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
if (configuration.getBoolean("useOutputBeanValidation")) { return imp.uploadFileHttp(request, petId, additionalMetadata, file);
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -10,9 +10,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp implements PetApiControllerImpInterface { public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override @Override
public void addPet(Http.Request request, Pet body) { public void addPet(Http.Request request, Pet body) {
//Do your magic!!! //Do your magic!!!
@ -52,7 +53,7 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
} }
@Override @Override
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) { public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) {
//Do your magic!!! //Do your magic!!!
return new ModelApiResponse(); return new ModelApiResponse();
} }

View File

@ -4,29 +4,109 @@ import java.io.InputStream;
import apimodels.ModelApiResponse; import apimodels.ModelApiResponse;
import apimodels.Pet; import apimodels.Pet;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface PetApiControllerImpInterface { public abstract class PetApiControllerImpInterface {
void addPet(Http.Request request, Pet body) ; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void deletePet(Http.Request request, Long petId, String apiKey) ; public Result addPetHttp(Http.Request request, Pet body) {
addPet(request, body);
List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) ; return ok();
List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) ; }
Pet getPetById(Http.Request request, Long petId) ; public abstract void addPet(Http.Request request, Pet body) ;
void updatePet(Http.Request request, Pet body) ; public Result deletePetHttp(Http.Request request, Long petId, String apiKey) {
deletePet(request, petId, apiKey);
void updatePetWithForm(Http.Request request, Long petId, String name, String status) ; return ok();
ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) ; }
public abstract void deletePet(Http.Request request, Long petId, String apiKey) ;
public Result findPetsByStatusHttp(Http.Request request, @NotNull List<String> status) {
List<Pet> obj = findPetsByStatus(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) ;
public Result findPetsByTagsHttp(Http.Request request, @NotNull List<String> tags) {
List<Pet> obj = findPetsByTags(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) ;
public Result getPetByIdHttp(Http.Request request, Long petId) {
Pet obj = getPetById(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Pet getPetById(Http.Request request, Long petId) ;
public Result updatePetHttp(Http.Request request, Pet body) {
updatePet(request, body);
return ok();
}
public abstract void updatePet(Http.Request request, Pet body) ;
public Result updatePetWithFormHttp(Http.Request request, Long petId, String name, String status) {
updatePetWithForm(request, petId, name, status);
return ok();
}
public abstract void updatePetWithForm(Http.Request request, Long petId, String name, String status) ;
public Result uploadFileHttp(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) {
ModelApiResponse obj = uploadFile(request, petId, additionalMetadata, file);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) ;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import java.io.IOException; import java.io.IOException;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final StoreApiControllerImpInterface imp; private final StoreApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -38,28 +38,19 @@ public class StoreApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result deleteOrder(Http.Request request, String orderId) { public Result deleteOrder(Http.Request request, String orderId) {
imp.deleteOrder(request, orderId); return imp.deleteOrderHttp(request, orderId);
return ok();
} }
@ApiAction @ApiAction
public Result getInventory(Http.Request request) { public Result getInventory(Http.Request request) {
Map<String, Integer> obj = imp.getInventory(request); return imp.getInventoryHttp(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) { public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) {
Order obj = imp.getOrderById(request, orderId); return imp.getOrderByIdHttp(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -74,11 +65,7 @@ public class StoreApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Order obj = imp.placeOrder(request, body); return imp.placeOrderHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp implements StoreApiControllerImpInterface { public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override @Override
public void deleteOrder(Http.Request request, String orderId) { public void deleteOrder(Http.Request request, String orderId) {
//Do your magic!!! //Do your magic!!!

View File

@ -3,21 +3,66 @@ package controllers;
import java.util.Map; import java.util.Map;
import apimodels.Order; import apimodels.Order;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface StoreApiControllerImpInterface { public abstract class StoreApiControllerImpInterface {
void deleteOrder(Http.Request request, String orderId) ; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
Map<String, Integer> getInventory(Http.Request request) ; public Result deleteOrderHttp(Http.Request request, String orderId) {
deleteOrder(request, orderId);
Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) ; return ok();
Order placeOrder(Http.Request request, Order body) ; }
public abstract void deleteOrder(Http.Request request, String orderId) ;
public Result getInventoryHttp(Http.Request request) {
Map<String, Integer> obj = getInventory(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Map<String, Integer> getInventory(Http.Request request) ;
public Result getOrderByIdHttp(Http.Request request, @Min(1) @Max(5)Long orderId) {
Order obj = getOrderById(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) ;
public Result placeOrderHttp(Http.Request request, Order body) {
Order obj = placeOrder(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order placeOrder(Http.Request request, Order body) ;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import java.io.IOException; import java.io.IOException;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller { public class UserApiController extends Controller {
private final UserApiControllerImpInterface imp; private final UserApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -38,7 +38,6 @@ public class UserApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result createUser(Http.Request request) throws IOException { public Result createUser(Http.Request request) throws IOException {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -51,8 +50,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUser(request, body); return imp.createUserHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -69,8 +67,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithArrayInput(request, body); return imp.createUsersWithArrayInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -87,24 +84,17 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithListInput(request, body); return imp.createUsersWithListInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
public Result deleteUser(Http.Request request, String username) { public Result deleteUser(Http.Request request, String username) {
imp.deleteUser(request, username); return imp.deleteUserHttp(request, username);
return ok();
} }
@ApiAction @ApiAction
public Result getUserByName(Http.Request request, String username) { public Result getUserByName(Http.Request request, String username) {
User obj = imp.getUserByName(request, username); return imp.getUserByNameHttp(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -123,15 +113,12 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'password' parameter is required"); throw new IllegalArgumentException("'password' parameter is required");
} }
String obj = imp.loginUser(request, username, password); return imp.loginUserHttp(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result logoutUser(Http.Request request) { public Result logoutUser(Http.Request request) {
imp.logoutUser(request); return imp.logoutUserHttp(request);
return ok();
} }
@ApiAction @ApiAction
@ -146,7 +133,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updateUser(request, username, body); return imp.updateUserHttp(request, username, body);
return ok();
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp implements UserApiControllerImpInterface { public class UserApiControllerImp extends UserApiControllerImpInterface {
@Override @Override
public void createUser(Http.Request request, User body) { public void createUser(Http.Request request, User body) {
//Do your magic!!! //Do your magic!!!

View File

@ -3,29 +3,94 @@ package controllers;
import java.util.List; import java.util.List;
import apimodels.User; import apimodels.User;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface UserApiControllerImpInterface { public abstract class UserApiControllerImpInterface {
void createUser(Http.Request request, User body) ; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void createUsersWithArrayInput(Http.Request request, List<User> body) ; public Result createUserHttp(Http.Request request, User body) {
createUser(request, body);
void createUsersWithListInput(Http.Request request, List<User> body) ; return ok();
void deleteUser(Http.Request request, String username) ; }
User getUserByName(Http.Request request, String username) ; public abstract void createUser(Http.Request request, User body) ;
String loginUser(Http.Request request, @NotNull String username, @NotNull String password) ; public Result createUsersWithArrayInputHttp(Http.Request request, List<User> body) {
createUsersWithArrayInput(request, body);
void logoutUser(Http.Request request) ; return ok();
void updateUser(Http.Request request, String username, User body) ; }
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) ;
public Result createUsersWithListInputHttp(Http.Request request, List<User> body) {
createUsersWithListInput(request, body);
return ok();
}
public abstract void createUsersWithListInput(Http.Request request, List<User> body) ;
public Result deleteUserHttp(Http.Request request, String username) {
deleteUser(request, username);
return ok();
}
public abstract void deleteUser(Http.Request request, String username) ;
public Result getUserByNameHttp(Http.Request request, String username) {
User obj = getUserByName(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract User getUserByName(Http.Request request, String username) ;
public Result loginUserHttp(Http.Request request, @NotNull String username, @NotNull String password) {
String obj = loginUser(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract String loginUser(Http.Request request, @NotNull String username, @NotNull String password) ;
public Result logoutUserHttp(Http.Request request) {
logoutUser(request);
return ok();
}
public abstract void logoutUser(Http.Request request) ;
public Result updateUserHttp(Http.Request request, String username, User body) {
updateUser(request, username, body);
return ok();
}
public abstract void updateUser(Http.Request request, String username, User body) ;
} }

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final PetApiControllerImp imp; private final PetApiControllerImp imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -38,7 +38,6 @@ public class PetApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result addPet(Http.Request request) throws Exception { public Result addPet(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -53,6 +52,7 @@ public class PetApiController extends Controller {
} }
imp.addPet(request, body); imp.addPet(request, body);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -66,6 +66,7 @@ public class PetApiController extends Controller {
} }
imp.deletePet(request, petId, apiKey); imp.deletePet(request, petId, apiKey);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -90,6 +91,7 @@ public class PetApiController extends Controller {
} }
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
@ApiAction @ApiAction
@ -114,6 +116,7 @@ public class PetApiController extends Controller {
} }
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
@ApiAction @ApiAction
@ -124,6 +127,7 @@ public class PetApiController extends Controller {
} }
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
@ApiAction @ApiAction
@ -140,6 +144,7 @@ public class PetApiController extends Controller {
} }
imp.updatePet(request, body); imp.updatePet(request, body);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -160,6 +165,7 @@ public class PetApiController extends Controller {
} }
imp.updatePetWithForm(request, petId, name, status); imp.updatePetWithForm(request, petId, name, status);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -171,12 +177,15 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file); ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file);
if (configuration.getBoolean("useOutputBeanValidation")) { if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj); OpenAPIUtils.validate(obj);
} }
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
} }

View File

@ -10,6 +10,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp { public class PetApiControllerImp {
@ -52,7 +53,7 @@ public class PetApiControllerImp {
} }
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception { public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
//Do your magic!!! //Do your magic!!!
return new ModelApiResponse(); return new ModelApiResponse();
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final StoreApiControllerImp imp; private final StoreApiControllerImp imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,11 +37,11 @@ public class StoreApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result deleteOrder(Http.Request request, String orderId) throws Exception { public Result deleteOrder(Http.Request request, String orderId) throws Exception {
imp.deleteOrder(request, orderId); imp.deleteOrder(request, orderId);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -49,6 +49,7 @@ public class StoreApiController extends Controller {
Map<String, Integer> obj = imp.getInventory(request); Map<String, Integer> obj = imp.getInventory(request);
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
@ApiAction @ApiAction
@ -59,6 +60,7 @@ public class StoreApiController extends Controller {
} }
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
@ApiAction @ApiAction
@ -79,5 +81,7 @@ public class StoreApiController extends Controller {
} }
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
} }

View File

@ -9,6 +9,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp { public class StoreApiControllerImp {

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller { public class UserApiController extends Controller {
private final UserApiControllerImp imp; private final UserApiControllerImp imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,7 +37,6 @@ public class UserApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result createUser(Http.Request request) throws Exception { public Result createUser(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -52,6 +51,7 @@ public class UserApiController extends Controller {
} }
imp.createUser(request, body); imp.createUser(request, body);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -70,6 +70,7 @@ public class UserApiController extends Controller {
} }
imp.createUsersWithArrayInput(request, body); imp.createUsersWithArrayInput(request, body);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -88,12 +89,14 @@ public class UserApiController extends Controller {
} }
imp.createUsersWithListInput(request, body); imp.createUsersWithListInput(request, body);
return ok(); return ok();
} }
@ApiAction @ApiAction
public Result deleteUser(Http.Request request, String username) throws Exception { public Result deleteUser(Http.Request request, String username) throws Exception {
imp.deleteUser(request, username); imp.deleteUser(request, username);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -104,6 +107,7 @@ public class UserApiController extends Controller {
} }
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
@ApiAction @ApiAction
@ -125,12 +129,14 @@ public class UserApiController extends Controller {
String obj = imp.loginUser(request, username, password); String obj = imp.loginUser(request, username, password);
JsonNode result = mapper.valueToTree(obj); JsonNode result = mapper.valueToTree(obj);
return ok(result); return ok(result);
} }
@ApiAction @ApiAction
public Result logoutUser(Http.Request request) throws Exception { public Result logoutUser(Http.Request request) throws Exception {
imp.logoutUser(request); imp.logoutUser(request);
return ok(); return ok();
} }
@ApiAction @ApiAction
@ -147,5 +153,7 @@ public class UserApiController extends Controller {
} }
imp.updateUser(request, username, body); imp.updateUser(request, username, body);
return ok(); return ok();
} }
} }

View File

@ -9,6 +9,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp { public class UserApiControllerImp {

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final PetApiControllerImpInterface imp; private final PetApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -38,7 +38,6 @@ public class PetApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result addPet(Http.Request request) throws Exception { public Result addPet(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -51,8 +50,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.addPet(request, body); return imp.addPetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -64,8 +62,7 @@ public class PetApiController extends Controller {
} else { } else {
apiKey = null; apiKey = null;
} }
imp.deletePet(request, petId, apiKey); return imp.deletePetHttp(request, petId, apiKey);
return ok();
} }
@ApiAction @ApiAction
@ -82,14 +79,7 @@ public class PetApiController extends Controller {
status.add(curParam); status.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByStatus(request, status); return imp.findPetsByStatusHttp(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -106,24 +96,12 @@ public class PetApiController extends Controller {
tags.add(curParam); tags.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByTags(request, tags); return imp.findPetsByTagsHttp(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getPetById(Http.Request request, Long petId) throws Exception { public Result getPetById(Http.Request request, Long petId) throws Exception {
Pet obj = imp.getPetById(request, petId); return imp.getPetByIdHttp(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -138,8 +116,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updatePet(request, body); return imp.updatePetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -158,8 +135,7 @@ public class PetApiController extends Controller {
} else { } else {
status = null; status = null;
} }
imp.updatePetWithForm(request, petId, name, status); return imp.updatePetWithFormHttp(request, petId, name, status);
return ok();
} }
@ApiAction @ApiAction
@ -171,12 +147,9 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file); Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
if (configuration.getBoolean("useOutputBeanValidation")) { return imp.uploadFileHttp(request, petId, additionalMetadata, file);
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -10,9 +10,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp implements PetApiControllerImpInterface { public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override @Override
public void addPet(Http.Request request, Pet body) throws Exception { public void addPet(Http.Request request, Pet body) throws Exception {
//Do your magic!!! //Do your magic!!!
@ -52,7 +53,7 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
} }
@Override @Override
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception { public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
//Do your magic!!! //Do your magic!!!
return new ModelApiResponse(); return new ModelApiResponse();
} }

View File

@ -4,29 +4,109 @@ import java.io.InputStream;
import apimodels.ModelApiResponse; import apimodels.ModelApiResponse;
import apimodels.Pet; import apimodels.Pet;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface PetApiControllerImpInterface { public abstract class PetApiControllerImpInterface {
void addPet(Http.Request request, Pet body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void deletePet(Http.Request request, Long petId, String apiKey) throws Exception; public Result addPetHttp(Http.Request request, Pet body) throws Exception {
addPet(request, body);
List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception; return ok();
List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception; }
Pet getPetById(Http.Request request, Long petId) throws Exception; public abstract void addPet(Http.Request request, Pet body) throws Exception;
void updatePet(Http.Request request, Pet body) throws Exception; public Result deletePetHttp(Http.Request request, Long petId, String apiKey) throws Exception {
deletePet(request, petId, apiKey);
void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception; return ok();
ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception; }
public abstract void deletePet(Http.Request request, Long petId, String apiKey) throws Exception;
public Result findPetsByStatusHttp(Http.Request request, @NotNull List<String> status) throws Exception {
List<Pet> obj = findPetsByStatus(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception;
public Result findPetsByTagsHttp(Http.Request request, @NotNull List<String> tags) throws Exception {
List<Pet> obj = findPetsByTags(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception;
public Result getPetByIdHttp(Http.Request request, Long petId) throws Exception {
Pet obj = getPetById(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Pet getPetById(Http.Request request, Long petId) throws Exception;
public Result updatePetHttp(Http.Request request, Pet body) throws Exception {
updatePet(request, body);
return ok();
}
public abstract void updatePet(Http.Request request, Pet body) throws Exception;
public Result updatePetWithFormHttp(Http.Request request, Long petId, String name, String status) throws Exception {
updatePetWithForm(request, petId, name, status);
return ok();
}
public abstract void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception;
public Result uploadFileHttp(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
ModelApiResponse obj = uploadFile(request, petId, additionalMetadata, file);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final StoreApiControllerImpInterface imp; private final StoreApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,28 +37,19 @@ public class StoreApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result deleteOrder(Http.Request request, String orderId) throws Exception { public Result deleteOrder(Http.Request request, String orderId) throws Exception {
imp.deleteOrder(request, orderId); return imp.deleteOrderHttp(request, orderId);
return ok();
} }
@ApiAction @ApiAction
public Result getInventory(Http.Request request) throws Exception { public Result getInventory(Http.Request request) throws Exception {
Map<String, Integer> obj = imp.getInventory(request); return imp.getInventoryHttp(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception { public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
Order obj = imp.getOrderById(request, orderId); return imp.getOrderByIdHttp(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -73,11 +64,7 @@ public class StoreApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Order obj = imp.placeOrder(request, body); return imp.placeOrderHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp implements StoreApiControllerImpInterface { public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override @Override
public void deleteOrder(Http.Request request, String orderId) throws Exception { public void deleteOrder(Http.Request request, String orderId) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,21 +3,66 @@ package controllers;
import java.util.Map; import java.util.Map;
import apimodels.Order; import apimodels.Order;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface StoreApiControllerImpInterface { public abstract class StoreApiControllerImpInterface {
void deleteOrder(Http.Request request, String orderId) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
Map<String, Integer> getInventory(Http.Request request) throws Exception; public Result deleteOrderHttp(Http.Request request, String orderId) throws Exception {
deleteOrder(request, orderId);
Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception; return ok();
Order placeOrder(Http.Request request, Order body) throws Exception; }
public abstract void deleteOrder(Http.Request request, String orderId) throws Exception;
public Result getInventoryHttp(Http.Request request) throws Exception {
Map<String, Integer> obj = getInventory(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Map<String, Integer> getInventory(Http.Request request) throws Exception;
public Result getOrderByIdHttp(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
Order obj = getOrderById(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception;
public Result placeOrderHttp(Http.Request request, Order body) throws Exception {
Order obj = placeOrder(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Order placeOrder(Http.Request request, Order body) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiController extends Controller { public class UserApiController extends Controller {
private final UserApiControllerImpInterface imp; private final UserApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,7 +37,6 @@ public class UserApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result createUser(Http.Request request) throws Exception { public Result createUser(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -50,8 +49,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUser(request, body); return imp.createUserHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -68,8 +66,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithArrayInput(request, body); return imp.createUsersWithArrayInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -86,24 +83,17 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.createUsersWithListInput(request, body); return imp.createUsersWithListInputHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
public Result deleteUser(Http.Request request, String username) throws Exception { public Result deleteUser(Http.Request request, String username) throws Exception {
imp.deleteUser(request, username); return imp.deleteUserHttp(request, username);
return ok();
} }
@ApiAction @ApiAction
public Result getUserByName(Http.Request request, String username) throws Exception { public Result getUserByName(Http.Request request, String username) throws Exception {
User obj = imp.getUserByName(request, username); return imp.getUserByNameHttp(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -122,15 +112,12 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'password' parameter is required"); throw new IllegalArgumentException("'password' parameter is required");
} }
String obj = imp.loginUser(request, username, password); return imp.loginUserHttp(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result logoutUser(Http.Request request) throws Exception { public Result logoutUser(Http.Request request) throws Exception {
imp.logoutUser(request); return imp.logoutUserHttp(request);
return ok();
} }
@ApiAction @ApiAction
@ -145,7 +132,7 @@ public class UserApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updateUser(request, username, body); return imp.updateUserHttp(request, username, body);
return ok();
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp implements UserApiControllerImpInterface { public class UserApiControllerImp extends UserApiControllerImpInterface {
@Override @Override
public void createUser(Http.Request request, User body) throws Exception { public void createUser(Http.Request request, User body) throws Exception {
//Do your magic!!! //Do your magic!!!

View File

@ -3,29 +3,94 @@ package controllers;
import java.util.List; import java.util.List;
import apimodels.User; import apimodels.User;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface UserApiControllerImpInterface { public abstract class UserApiControllerImpInterface {
void createUser(Http.Request request, User body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception; public Result createUserHttp(Http.Request request, User body) throws Exception {
createUser(request, body);
void createUsersWithListInput(Http.Request request, List<User> body) throws Exception; return ok();
void deleteUser(Http.Request request, String username) throws Exception; }
User getUserByName(Http.Request request, String username) throws Exception; public abstract void createUser(Http.Request request, User body) throws Exception;
String loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception; public Result createUsersWithArrayInputHttp(Http.Request request, List<User> body) throws Exception {
createUsersWithArrayInput(request, body);
void logoutUser(Http.Request request) throws Exception; return ok();
void updateUser(Http.Request request, String username, User body) throws Exception; }
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception;
public Result createUsersWithListInputHttp(Http.Request request, List<User> body) throws Exception {
createUsersWithListInput(request, body);
return ok();
}
public abstract void createUsersWithListInput(Http.Request request, List<User> body) throws Exception;
public Result deleteUserHttp(Http.Request request, String username) throws Exception {
deleteUser(request, username);
return ok();
}
public abstract void deleteUser(Http.Request request, String username) throws Exception;
public Result getUserByNameHttp(Http.Request request, String username) throws Exception {
User obj = getUserByName(request, username);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract User getUserByName(Http.Request request, String username) throws Exception;
public Result loginUserHttp(Http.Request request, @NotNull String username, @NotNull String password) throws Exception {
String obj = loginUser(request, username, password);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract String loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception;
public Result logoutUserHttp(Http.Request request) throws Exception {
logoutUser(request);
return ok();
}
public abstract void logoutUser(Http.Request request) throws Exception;
public Result updateUserHttp(Http.Request request, String username, User body) throws Exception {
updateUser(request, username, body);
return ok();
}
public abstract void updateUser(Http.Request request, String username, User body) throws Exception;
} }

View File

@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
@Inject @Inject
private ApiCall() {} private ApiCall() {}
public CompletionStage<Result> call(Http.Context ctx) { public CompletionStage<Result> call(Http.Request request) {
try { try {
//TODO: Do stuff you want to handle with each API call (metrics, logging, etc..) //TODO: Do stuff you want to handle with each API call (metrics, logging, etc..)
return delegate.call(ctx); return delegate.call(request);
} catch (Throwable t) { } catch (Throwable t) {
//TODO: log the error in your metric //TODO: log the error in your metric

View File

@ -1,2 +1,2 @@
// The Play plugin // The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5") addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")

View File

@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiController extends Controller { public class PetApiController extends Controller {
private final PetApiControllerImpInterface imp; private final PetApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -38,7 +38,6 @@ public class PetApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result addPet(Http.Request request) throws Exception { public Result addPet(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson(); JsonNode nodebody = request.body().asJson();
@ -51,8 +50,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.addPet(request, body); return imp.addPetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -64,8 +62,7 @@ public class PetApiController extends Controller {
} else { } else {
apiKey = null; apiKey = null;
} }
imp.deletePet(request, petId, apiKey); return imp.deletePetHttp(request, petId, apiKey);
return ok();
} }
@ApiAction @ApiAction
@ -82,14 +79,7 @@ public class PetApiController extends Controller {
status.add(curParam); status.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByStatus(request, status); return imp.findPetsByStatusHttp(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -106,24 +96,12 @@ public class PetApiController extends Controller {
tags.add(curParam); tags.add(curParam);
} }
} }
List<Pet> obj = imp.findPetsByTags(request, tags); return imp.findPetsByTagsHttp(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getPetById(Http.Request request, Long petId) throws Exception { public Result getPetById(Http.Request request, Long petId) throws Exception {
Pet obj = imp.getPetById(request, petId); return imp.getPetByIdHttp(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -138,8 +116,7 @@ public class PetApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
imp.updatePet(request, body); return imp.updatePetHttp(request, body);
return ok();
} }
@ApiAction @ApiAction
@ -158,8 +135,7 @@ public class PetApiController extends Controller {
} else { } else {
status = null; status = null;
} }
imp.updatePetWithForm(request, petId, name, status); return imp.updatePetWithFormHttp(request, petId, name, status);
return ok();
} }
@ApiAction @ApiAction
@ -171,12 +147,9 @@ public class PetApiController extends Controller {
} else { } else {
additionalMetadata = null; additionalMetadata = null;
} }
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file"); Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file); Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
if (configuration.getBoolean("useOutputBeanValidation")) { return imp.uploadFileHttp(request, petId, additionalMetadata, file);
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -10,9 +10,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp implements PetApiControllerImpInterface { public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override @Override
public void addPet(Http.Request request, Pet body) throws Exception { public void addPet(Http.Request request, Pet body) throws Exception {
//Do your magic!!! //Do your magic!!!
@ -52,7 +53,7 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
} }
@Override @Override
public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception { public ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
//Do your magic!!! //Do your magic!!!
return new ModelApiResponse(); return new ModelApiResponse();
} }

View File

@ -4,29 +4,109 @@ import java.io.InputStream;
import apimodels.ModelApiResponse; import apimodels.ModelApiResponse;
import apimodels.Pet; import apimodels.Pet;
import com.google.inject.Inject;
import com.typesafe.config.Config;
import play.mvc.Controller;
import play.mvc.Http; import play.mvc.Http;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import play.mvc.Result;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode;
import openapitools.OpenAPIUtils;
import static play.mvc.Results.ok;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@SuppressWarnings("RedundantThrows") @SuppressWarnings("RedundantThrows")
public interface PetApiControllerImpInterface { public abstract class PetApiControllerImpInterface {
void addPet(Http.Request request, Pet body) throws Exception; @Inject private Config configuration;
private ObjectMapper mapper = new ObjectMapper();
void deletePet(Http.Request request, Long petId, String apiKey) throws Exception; public Result addPetHttp(Http.Request request, Pet body) throws Exception {
addPet(request, body);
List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception; return ok();
List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception; }
Pet getPetById(Http.Request request, Long petId) throws Exception; public abstract void addPet(Http.Request request, Pet body) throws Exception;
void updatePet(Http.Request request, Pet body) throws Exception; public Result deletePetHttp(Http.Request request, Long petId, String apiKey) throws Exception {
deletePet(request, petId, apiKey);
void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception; return ok();
ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) throws Exception; }
public abstract void deletePet(Http.Request request, Long petId, String apiKey) throws Exception;
public Result findPetsByStatusHttp(Http.Request request, @NotNull List<String> status) throws Exception {
List<Pet> obj = findPetsByStatus(request, status);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception;
public Result findPetsByTagsHttp(Http.Request request, @NotNull List<String> tags) throws Exception {
List<Pet> obj = findPetsByTags(request, tags);
if (configuration.getBoolean("useOutputBeanValidation")) {
for (Pet curItem : obj) {
OpenAPIUtils.validate(curItem);
}
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception;
public Result getPetByIdHttp(Http.Request request, Long petId) throws Exception {
Pet obj = getPetById(request, petId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract Pet getPetById(Http.Request request, Long petId) throws Exception;
public Result updatePetHttp(Http.Request request, Pet body) throws Exception {
updatePet(request, body);
return ok();
}
public abstract void updatePet(Http.Request request, Pet body) throws Exception;
public Result updatePetWithFormHttp(Http.Request request, Long petId, String name, String status) throws Exception {
updatePetWithForm(request, petId, name, status);
return ok();
}
public abstract void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception;
public Result uploadFileHttp(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception {
ModelApiResponse obj = uploadFile(request, petId, additionalMetadata, file);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
}
public abstract ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart<TemporaryFile> file) throws Exception;
} }

View File

@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.io.File; import java.io.File;
import play.api.libs.Files.TemporaryFile;
import openapitools.OpenAPIUtils; import openapitools.OpenAPIUtils;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiController extends Controller { public class StoreApiController extends Controller {
private final StoreApiControllerImpInterface imp; private final StoreApiControllerImpInterface imp;
private final ObjectMapper mapper; private final ObjectMapper mapper;
private final Config configuration; private final Config configuration;
@ -37,28 +37,19 @@ public class StoreApiController extends Controller {
this.configuration = configuration; this.configuration = configuration;
} }
@ApiAction @ApiAction
public Result deleteOrder(Http.Request request, String orderId) throws Exception { public Result deleteOrder(Http.Request request, String orderId) throws Exception {
imp.deleteOrder(request, orderId); return imp.deleteOrderHttp(request, orderId);
return ok();
} }
@ApiAction @ApiAction
public Result getInventory(Http.Request request) throws Exception { public Result getInventory(Http.Request request) throws Exception {
Map<String, Integer> obj = imp.getInventory(request); return imp.getInventoryHttp(request);
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception { public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
Order obj = imp.getOrderById(request, orderId); return imp.getOrderByIdHttp(request, orderId);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
@ApiAction @ApiAction
@ -73,11 +64,7 @@ public class StoreApiController extends Controller {
} else { } else {
throw new IllegalArgumentException("'body' parameter is required"); throw new IllegalArgumentException("'body' parameter is required");
} }
Order obj = imp.placeOrder(request, body); return imp.placeOrderHttp(request, body);
if (configuration.getBoolean("useOutputBeanValidation")) {
OpenAPIUtils.validate(obj);
}
JsonNode result = mapper.valueToTree(obj);
return ok(result);
} }
} }

View File

@ -9,9 +9,10 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.io.FileInputStream; import java.io.FileInputStream;
import play.api.libs.Files.TemporaryFile;
import javax.validation.constraints.*; import javax.validation.constraints.*;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen") @javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp implements StoreApiControllerImpInterface { public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override @Override
public void deleteOrder(Http.Request request, String orderId) throws Exception { public void deleteOrder(Http.Request request, String orderId) throws Exception {
//Do your magic!!! //Do your magic!!!

Some files were not shown because too many files have changed in this diff Show More