[4947][java]: adds support for validation of primitives in arrays (#17165)

* [4947][java]: adds support for validation of primitives in arrays

* [4947][java]: prevents generation '@Valid' for Object

* [4947][java]: test against different codegens and stick to primitive

* [4947][java]: code review

* [4947][java]: enhance getBeanValidation

* [4947][java]: adds email

* [4947][java]: removes unnecessary override

* [4947][java]: adds postProcessResponseWithProperty

* [4947][java]: adds missing import {{javaxPackage}}.validation.Valid

* [4947][java]: adds missing useBeanValidation

* [4947][java]: fix use rootJavaEEPackage for helidon
This commit is contained in:
Aliaksei
2023-12-11 13:55:38 +01:00
committed by GitHub
parent d4d5196907
commit 809b3331a9
575 changed files with 1982 additions and 843 deletions

View File

@@ -24,6 +24,7 @@ import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
import com.typesafe.config.Config;
import openapitools.OpenAPIUtils.ApiAction;

View File

@@ -14,6 +14,7 @@ import play.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class PetApiControllerImp extends PetApiControllerImpInterface {
@Override

View File

@@ -24,6 +24,7 @@ import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
@SuppressWarnings("RedundantThrows")
public abstract class PetApiControllerImpInterface {

View File

@@ -23,6 +23,7 @@ import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
import com.typesafe.config.Config;
import openapitools.OpenAPIUtils.ApiAction;

View File

@@ -13,6 +13,7 @@ import play.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class StoreApiControllerImp extends StoreApiControllerImpInterface {
@Override

View File

@@ -23,6 +23,7 @@ import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
@SuppressWarnings("RedundantThrows")
public abstract class StoreApiControllerImpInterface {

View File

@@ -23,6 +23,7 @@ import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
import com.typesafe.config.Config;
import openapitools.OpenAPIUtils.ApiAction;
@@ -58,9 +59,9 @@ public class UserApiController extends Controller {
@ApiAction
public CompletionStage<Result> createUsersWithArrayInput(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson();
List<User> body;
List<@Valid User> body;
if (nodebody != null) {
body = mapper.readValue(nodebody.toString(), new TypeReference<List<User>>(){});
body = mapper.readValue(nodebody.toString(), new TypeReference<List<@Valid User>>(){});
if (configuration.getBoolean("useInputBeanValidation")) {
for (User curItem : body) {
OpenAPIUtils.validate(curItem);
@@ -75,9 +76,9 @@ public class UserApiController extends Controller {
@ApiAction
public CompletionStage<Result> createUsersWithListInput(Http.Request request) throws Exception {
JsonNode nodebody = request.body().asJson();
List<User> body;
List<@Valid User> body;
if (nodebody != null) {
body = mapper.readValue(nodebody.toString(), new TypeReference<List<User>>(){});
body = mapper.readValue(nodebody.toString(), new TypeReference<List<@Valid User>>(){});
if (configuration.getBoolean("useInputBeanValidation")) {
for (User curItem : body) {
OpenAPIUtils.validate(curItem);

View File

@@ -13,6 +13,7 @@ import play.libs.Files.TemporaryFile;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaPlayFrameworkCodegen")
public class UserApiControllerImp extends UserApiControllerImpInterface {
@Override
@@ -21,12 +22,12 @@ public class UserApiControllerImp extends UserApiControllerImpInterface {
}
@Override
public void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception {
public void createUsersWithArrayInput(Http.Request request, List<@Valid User> body) throws Exception {
//Do your magic!!!
}
@Override
public void createUsersWithListInput(Http.Request request, List<User> body) throws Exception {
public void createUsersWithListInput(Http.Request request, List<@Valid User> body) throws Exception {
//Do your magic!!!
}

View File

@@ -23,6 +23,7 @@ import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
import javax.validation.constraints.*;
import javax.validation.Valid;
@SuppressWarnings("RedundantThrows")
public abstract class UserApiControllerImpInterface {
@@ -45,7 +46,7 @@ public abstract class UserApiControllerImpInterface {
public abstract void createUser(Http.Request request, User body) throws Exception;
public CompletionStage<Result> createUsersWithArrayInputHttp(Http.Request request, List<User> body) throws Exception {
public CompletionStage<Result> createUsersWithArrayInputHttp(Http.Request request, List<@Valid User> body) throws Exception {
CompletableFuture<Result> result = CompletableFuture.supplyAsync(() -> {
try {
createUsersWithArrayInput(request, body);
@@ -58,9 +59,9 @@ public abstract class UserApiControllerImpInterface {
}
public abstract void createUsersWithArrayInput(Http.Request request, List<User> body) throws Exception;
public abstract void createUsersWithArrayInput(Http.Request request, List<@Valid User> body) throws Exception;
public CompletionStage<Result> createUsersWithListInputHttp(Http.Request request, List<User> body) throws Exception {
public CompletionStage<Result> createUsersWithListInputHttp(Http.Request request, List<@Valid User> body) throws Exception {
CompletableFuture<Result> result = CompletableFuture.supplyAsync(() -> {
try {
createUsersWithListInput(request, body);
@@ -73,7 +74,7 @@ public abstract class UserApiControllerImpInterface {
}
public abstract void createUsersWithListInput(Http.Request request, List<User> body) throws Exception;
public abstract void createUsersWithListInput(Http.Request request, List<@Valid User> body) throws Exception;
public CompletionStage<Result> deleteUserHttp(Http.Request request, String username) throws Exception {
CompletableFuture<Result> result = CompletableFuture.supplyAsync(() -> {