forked from loafle/openapi-generator-original
[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:
committed by
GitHub
parent
ebf2f2e30f
commit
998e0fdaa2
@@ -16,6 +16,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.google.inject.Inject;
|
||||
import java.io.File;
|
||||
import play.api.libs.Files.TemporaryFile;
|
||||
import openapitools.OpenAPIUtils;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
|
||||
@@ -26,7 +27,6 @@ import openapitools.OpenAPIUtils.ApiAction;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
|
||||
public class PetApiController extends Controller {
|
||||
|
||||
private final PetApiControllerImpInterface imp;
|
||||
private final ObjectMapper mapper;
|
||||
private final Config configuration;
|
||||
@@ -38,7 +38,6 @@ public class PetApiController extends Controller {
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
|
||||
@ApiAction
|
||||
public Result addPet(Http.Request request) throws Exception {
|
||||
JsonNode nodebody = request.body().asJson();
|
||||
@@ -51,8 +50,7 @@ public class PetApiController extends Controller {
|
||||
} else {
|
||||
throw new IllegalArgumentException("'body' parameter is required");
|
||||
}
|
||||
imp.addPet(request, body);
|
||||
return ok();
|
||||
return imp.addPetHttp(request, body);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -64,8 +62,7 @@ public class PetApiController extends Controller {
|
||||
} else {
|
||||
apiKey = null;
|
||||
}
|
||||
imp.deletePet(request, petId, apiKey);
|
||||
return ok();
|
||||
return imp.deletePetHttp(request, petId, apiKey);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -82,14 +79,7 @@ public class PetApiController extends Controller {
|
||||
status.add(curParam);
|
||||
}
|
||||
}
|
||||
List<Pet> obj = imp.findPetsByStatus(request, status);
|
||||
if (configuration.getBoolean("useOutputBeanValidation")) {
|
||||
for (Pet curItem : obj) {
|
||||
OpenAPIUtils.validate(curItem);
|
||||
}
|
||||
}
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
return imp.findPetsByStatusHttp(request, status);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -106,24 +96,12 @@ public class PetApiController extends Controller {
|
||||
tags.add(curParam);
|
||||
}
|
||||
}
|
||||
List<Pet> obj = imp.findPetsByTags(request, tags);
|
||||
if (configuration.getBoolean("useOutputBeanValidation")) {
|
||||
for (Pet curItem : obj) {
|
||||
OpenAPIUtils.validate(curItem);
|
||||
}
|
||||
}
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
return imp.findPetsByTagsHttp(request, tags);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
public Result getPetById(Http.Request request, Long petId) throws Exception {
|
||||
Pet obj = imp.getPetById(request, petId);
|
||||
if (configuration.getBoolean("useOutputBeanValidation")) {
|
||||
OpenAPIUtils.validate(obj);
|
||||
}
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
return imp.getPetByIdHttp(request, petId);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -138,8 +116,7 @@ public class PetApiController extends Controller {
|
||||
} else {
|
||||
throw new IllegalArgumentException("'body' parameter is required");
|
||||
}
|
||||
imp.updatePet(request, body);
|
||||
return ok();
|
||||
return imp.updatePetHttp(request, body);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -158,8 +135,7 @@ public class PetApiController extends Controller {
|
||||
} else {
|
||||
status = null;
|
||||
}
|
||||
imp.updatePetWithForm(request, petId, name, status);
|
||||
return ok();
|
||||
return imp.updatePetWithFormHttp(request, petId, name, status);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -171,12 +147,9 @@ public class PetApiController extends Controller {
|
||||
} else {
|
||||
additionalMetadata = null;
|
||||
}
|
||||
Http.MultipartFormData.FilePart file = request.body().asMultipartFormData().getFile("file");
|
||||
ModelApiResponse obj = imp.uploadFile(request, petId, additionalMetadata, file);
|
||||
if (configuration.getBoolean("useOutputBeanValidation")) {
|
||||
OpenAPIUtils.validate(obj);
|
||||
}
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
Http.MultipartFormData<TemporaryFile> bodyfile = request.body().asMultipartFormData();
|
||||
Http.MultipartFormData.FilePart<TemporaryFile> file = bodyfile.getFile("file");
|
||||
return imp.uploadFileHttp(request, petId, additionalMetadata, file);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,9 +10,10 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.io.FileInputStream;
|
||||
import play.api.libs.Files.TemporaryFile;
|
||||
import javax.validation.constraints.*;
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
|
||||
public class PetApiControllerImp implements PetApiControllerImpInterface {
|
||||
public class PetApiControllerImp extends PetApiControllerImpInterface {
|
||||
@Override
|
||||
public void addPet(Http.Request request, Pet body) throws Exception {
|
||||
//Do your magic!!!
|
||||
@@ -52,7 +53,7 @@ public class PetApiControllerImp implements PetApiControllerImpInterface {
|
||||
}
|
||||
|
||||
@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!!!
|
||||
return new ModelApiResponse();
|
||||
}
|
||||
|
||||
@@ -4,29 +4,109 @@ import java.io.InputStream;
|
||||
import apimodels.ModelApiResponse;
|
||||
import apimodels.Pet;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.typesafe.config.Config;
|
||||
import play.mvc.Controller;
|
||||
import play.mvc.Http;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
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.*;
|
||||
|
||||
@SuppressWarnings("RedundantThrows")
|
||||
public interface PetApiControllerImpInterface {
|
||||
void addPet(Http.Request request, Pet body) throws Exception;
|
||||
public abstract class PetApiControllerImpInterface {
|
||||
@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);
|
||||
return ok();
|
||||
|
||||
List<Pet> findPetsByStatus(Http.Request request, @NotNull List<String> status) throws Exception;
|
||||
}
|
||||
|
||||
List<Pet> findPetsByTags(Http.Request request, @NotNull List<String> tags) throws Exception;
|
||||
public abstract void addPet(Http.Request request, Pet body) throws Exception;
|
||||
|
||||
Pet getPetById(Http.Request request, Long petId) throws Exception;
|
||||
public Result deletePetHttp(Http.Request request, Long petId, String apiKey) throws Exception {
|
||||
deletePet(request, petId, apiKey);
|
||||
return ok();
|
||||
|
||||
void updatePet(Http.Request request, Pet body) throws Exception;
|
||||
}
|
||||
|
||||
void updatePetWithForm(Http.Request request, Long petId, String name, String status) throws Exception;
|
||||
public abstract void deletePet(Http.Request request, Long petId, String apiKey) throws Exception;
|
||||
|
||||
ModelApiResponse uploadFile(Http.Request request, Long petId, String additionalMetadata, Http.MultipartFormData.FilePart file) 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;
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.google.inject.Inject;
|
||||
import java.io.File;
|
||||
import play.api.libs.Files.TemporaryFile;
|
||||
import openapitools.OpenAPIUtils;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
|
||||
@@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
|
||||
public class StoreApiController extends Controller {
|
||||
|
||||
private final StoreApiControllerImpInterface imp;
|
||||
private final ObjectMapper mapper;
|
||||
private final Config configuration;
|
||||
@@ -37,28 +37,19 @@ public class StoreApiController extends Controller {
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
|
||||
@ApiAction
|
||||
public Result deleteOrder(Http.Request request, String orderId) throws Exception {
|
||||
imp.deleteOrder(request, orderId);
|
||||
return ok();
|
||||
return imp.deleteOrderHttp(request, orderId);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
public Result getInventory(Http.Request request) throws Exception {
|
||||
Map<String, Integer> obj = imp.getInventory(request);
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
return imp.getInventoryHttp(request);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
public Result getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception {
|
||||
Order obj = imp.getOrderById(request, orderId);
|
||||
if (configuration.getBoolean("useOutputBeanValidation")) {
|
||||
OpenAPIUtils.validate(obj);
|
||||
}
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
return imp.getOrderByIdHttp(request, orderId);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -73,11 +64,7 @@ public class StoreApiController extends Controller {
|
||||
} else {
|
||||
throw new IllegalArgumentException("'body' parameter is required");
|
||||
}
|
||||
Order obj = imp.placeOrder(request, body);
|
||||
if (configuration.getBoolean("useOutputBeanValidation")) {
|
||||
OpenAPIUtils.validate(obj);
|
||||
}
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
return imp.placeOrderHttp(request, body);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,9 +9,10 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.io.FileInputStream;
|
||||
import play.api.libs.Files.TemporaryFile;
|
||||
import javax.validation.constraints.*;
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
|
||||
public class StoreApiControllerImp implements StoreApiControllerImpInterface {
|
||||
public class StoreApiControllerImp extends StoreApiControllerImpInterface {
|
||||
@Override
|
||||
public void deleteOrder(Http.Request request, String orderId) throws Exception {
|
||||
//Do your magic!!!
|
||||
|
||||
@@ -3,21 +3,66 @@ package com.puppies.store.apis;
|
||||
import java.util.Map;
|
||||
import apimodels.Order;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.typesafe.config.Config;
|
||||
import play.mvc.Controller;
|
||||
import play.mvc.Http;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
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.*;
|
||||
|
||||
@SuppressWarnings("RedundantThrows")
|
||||
public interface StoreApiControllerImpInterface {
|
||||
void deleteOrder(Http.Request request, String orderId) throws Exception;
|
||||
public abstract class StoreApiControllerImpInterface {
|
||||
@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);
|
||||
return ok();
|
||||
|
||||
Order getOrderById(Http.Request request, @Min(1) @Max(5)Long orderId) throws Exception;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.google.inject.Inject;
|
||||
import java.io.File;
|
||||
import play.api.libs.Files.TemporaryFile;
|
||||
import openapitools.OpenAPIUtils;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
|
||||
@@ -25,7 +26,6 @@ import openapitools.OpenAPIUtils.ApiAction;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
|
||||
public class UserApiController extends Controller {
|
||||
|
||||
private final UserApiControllerImpInterface imp;
|
||||
private final ObjectMapper mapper;
|
||||
private final Config configuration;
|
||||
@@ -37,7 +37,6 @@ public class UserApiController extends Controller {
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
|
||||
@ApiAction
|
||||
public Result createUser(Http.Request request) throws Exception {
|
||||
JsonNode nodebody = request.body().asJson();
|
||||
@@ -50,8 +49,7 @@ public class UserApiController extends Controller {
|
||||
} else {
|
||||
throw new IllegalArgumentException("'body' parameter is required");
|
||||
}
|
||||
imp.createUser(request, body);
|
||||
return ok();
|
||||
return imp.createUserHttp(request, body);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -68,8 +66,7 @@ public class UserApiController extends Controller {
|
||||
} else {
|
||||
throw new IllegalArgumentException("'body' parameter is required");
|
||||
}
|
||||
imp.createUsersWithArrayInput(request, body);
|
||||
return ok();
|
||||
return imp.createUsersWithArrayInputHttp(request, body);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -86,24 +83,17 @@ public class UserApiController extends Controller {
|
||||
} else {
|
||||
throw new IllegalArgumentException("'body' parameter is required");
|
||||
}
|
||||
imp.createUsersWithListInput(request, body);
|
||||
return ok();
|
||||
return imp.createUsersWithListInputHttp(request, body);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
public Result deleteUser(Http.Request request, String username) throws Exception {
|
||||
imp.deleteUser(request, username);
|
||||
return ok();
|
||||
return imp.deleteUserHttp(request, username);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
public Result getUserByName(Http.Request request, String username) throws Exception {
|
||||
User obj = imp.getUserByName(request, username);
|
||||
if (configuration.getBoolean("useOutputBeanValidation")) {
|
||||
OpenAPIUtils.validate(obj);
|
||||
}
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
return imp.getUserByNameHttp(request, username);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -122,15 +112,12 @@ public class UserApiController extends Controller {
|
||||
} else {
|
||||
throw new IllegalArgumentException("'password' parameter is required");
|
||||
}
|
||||
String obj = imp.loginUser(request, username, password);
|
||||
JsonNode result = mapper.valueToTree(obj);
|
||||
return ok(result);
|
||||
return imp.loginUserHttp(request, username, password);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
public Result logoutUser(Http.Request request) throws Exception {
|
||||
imp.logoutUser(request);
|
||||
return ok();
|
||||
return imp.logoutUserHttp(request);
|
||||
}
|
||||
|
||||
@ApiAction
|
||||
@@ -145,7 +132,7 @@ public class UserApiController extends Controller {
|
||||
} else {
|
||||
throw new IllegalArgumentException("'body' parameter is required");
|
||||
}
|
||||
imp.updateUser(request, username, body);
|
||||
return ok();
|
||||
return imp.updateUserHttp(request, username, body);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,9 +9,10 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.io.FileInputStream;
|
||||
import play.api.libs.Files.TemporaryFile;
|
||||
import javax.validation.constraints.*;
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
|
||||
public class UserApiControllerImp implements UserApiControllerImpInterface {
|
||||
public class UserApiControllerImp extends UserApiControllerImpInterface {
|
||||
@Override
|
||||
public void createUser(Http.Request request, User body) throws Exception {
|
||||
//Do your magic!!!
|
||||
|
||||
@@ -3,29 +3,94 @@ package com.puppies.store.apis;
|
||||
import java.util.List;
|
||||
import apimodels.User;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.typesafe.config.Config;
|
||||
import play.mvc.Controller;
|
||||
import play.mvc.Http;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
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.*;
|
||||
|
||||
@SuppressWarnings("RedundantThrows")
|
||||
public interface UserApiControllerImpInterface {
|
||||
void createUser(Http.Request request, User body) throws Exception;
|
||||
public abstract class UserApiControllerImpInterface {
|
||||
@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);
|
||||
return ok();
|
||||
|
||||
void createUsersWithListInput(Http.Request request, List<User> body) throws Exception;
|
||||
}
|
||||
|
||||
void deleteUser(Http.Request request, String username) throws Exception;
|
||||
public abstract void createUser(Http.Request request, User body) throws Exception;
|
||||
|
||||
User getUserByName(Http.Request request, String username) throws Exception;
|
||||
public Result createUsersWithArrayInputHttp(Http.Request request, List<User> body) throws Exception {
|
||||
createUsersWithArrayInput(request, body);
|
||||
return ok();
|
||||
|
||||
String loginUser(Http.Request request, @NotNull String username, @NotNull String password) throws Exception;
|
||||
}
|
||||
|
||||
void logoutUser(Http.Request request) throws Exception;
|
||||
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception;
|
||||
|
||||
void updateUser(Http.Request request, String username, 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;
|
||||
|
||||
}
|
||||
|
||||
@@ -13,10 +13,10 @@ public class ApiCall extends Action<OpenAPIUtils.ApiAction> {
|
||||
@Inject
|
||||
private ApiCall() {}
|
||||
|
||||
public CompletionStage<Result> call(Http.Context ctx) {
|
||||
public CompletionStage<Result> call(Http.Request request) {
|
||||
try {
|
||||
//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) {
|
||||
//TODO: log the error in your metric
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// The Play plugin
|
||||
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.5")
|
||||
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.3")
|
||||
Reference in New Issue
Block a user