refactor java-vertx-web parameters and bugfix on non primitive parameter (#4353)

This commit is contained in:
Jason Lee
2019-11-03 17:24:46 +08:00
committed by William Cheng
parent f77b5da0f0
commit 3f72f8da50
9 changed files with 79 additions and 27 deletions

View File

@@ -39,32 +39,7 @@ public class {{classname}}Handler {
HttpServerResponse response = routingContext.response();
{{#returnType}}Single{{/returnType}}{{^returnType}}Completable{{/returnType}}.defer( () -> {
{{#allParams}}
{{^isBodyParam}}
{{^isListContainer}}
{{#isHeaderParam}}
{{{dataType}}} {{paramName}} = ParameterCast.to{{dataType}}(routingContext.request().getHeader("{{baseName}}"));
{{/isHeaderParam}}
{{#isPathParam}}
{{{dataType}}} {{paramName}} = ParameterCast.to{{dataType}}(routingContext.pathParams().get("{{baseName}}"));
{{/isPathParam}}
{{#isQueryParam}}
{{{dataType}}} {{paramName}} = ParameterCast.to{{dataType}}(routingContext.queryParams().get("{{baseName}}"));
{{/isQueryParam}}
{{#isFormParam}}
{{^isFile}}
{{{dataType}}} {{paramName}} = ParameterCast.to{{dataType}}(routingContext.request().getFormAttribute("{{baseName}}"));
{{/isFile}}
{{#isFile}}
{{{dataType}}} {{paramName}} = routingContext.fileUploads().iterator().next();
{{/isFile}}
{{/isFormParam}}
{{/isListContainer}}
{{#isListContainer}}
{{{dataType}}} {{paramName}} = routingContext.request().params().getAll("{{baseName}}");
{{/isListContainer}}
{{/isBodyParam}}
{{/allParams}}
{{#allParams}}{{^isBodyParam}}{{>headerParams}}{{>pathParams}}{{>queryParams}}{{>formParams}}{{/isBodyParam}}{{/allParams}}
{{#allParams}}
{{#isBodyParam}}
String jsonString = routingContext.getBodyAsString();

View File

@@ -0,0 +1,18 @@
{{#isFormParam}}
{{^isListContainer}}
{{^isFile}}
{{#isModel}}
{{{dataType}}} {{paramName}} = ParameterCast.toObject(routingContext.request().getFormAttribute("{{baseName}}"), {{dataType}}.class);
{{/isModel}}
{{^isModel}}
{{{dataType}}} {{paramName}} = ParameterCast.to{{dataType}}(routingContext.request().getFormAttribute("{{baseName}}"));
{{/isModel}}
{{/isFile}}
{{#isFile}}
{{{dataType}}} {{paramName}} = routingContext.fileUploads().iterator().next();
{{/isFile}}
{{/isListContainer}}
{{#isListContainer}}
{{{dataType}}} {{paramName}} = routingContext.request().params().getAll("{{baseName}}");
{{/isListContainer}}
{{/isFormParam}}

View File

@@ -0,0 +1,13 @@
{{#isHeaderParam}}
{{^isListContainer}}
{{#isModel}}
{{{dataType}}} {{paramName}} = ParameterCast.toObject(routingContext.request().getHeader("{{baseName}}"), {{dataType}}.class);
{{/isModel}}
{{^isModel}}
{{{dataType}}} {{paramName}} = ParameterCast.to{{dataType}}(routingContext.request().getHeader("{{baseName}}"));
{{/isModel}}
{{/isListContainer}}
{{#isListContainer}}
{{{dataType}}} {{paramName}} = routingContext.request().params().getAll("{{baseName}}");
{{/isListContainer}}
{{/isHeaderParam}}

View File

@@ -0,0 +1,13 @@
{{#isPathParam}}
{{^isListContainer}}
{{#isModel}}
{{{dataType}}} {{paramName}} = ParameterCast.toObject(routingContext.pathParams().get("{{baseName}}"), {{dataType}}.class);
{{/isModel}}
{{^isModel}}
{{{dataType}}} {{paramName}} = ParameterCast.to{{dataType}}(routingContext.pathParams().get("{{baseName}}"));
{{/isModel}}
{{/isListContainer}}
{{#isListContainer}}
{{{dataType}}} {{paramName}} = routingContext.request().params().getAll("{{baseName}}");
{{/isListContainer}}
{{/isPathParam}}

View File

@@ -0,0 +1,13 @@
{{#isQueryParam}}
{{^isListContainer}}
{{#isModel}}
{{{dataType}}} {{paramName}} = ParameterCast.toObject(routingContext.queryParams().get("{{baseName}}"), {{dataType}}.class);
{{/isModel}}
{{^isModel}}
{{{dataType}}} {{paramName}} = ParameterCast.to{{dataType}}(routingContext.queryParams().get("{{baseName}}"));
{{/isModel}}
{{/isListContainer}}
{{#isListContainer}}
{{{dataType}}} {{paramName}} = routingContext.request().params().getAll("{{baseName}}");
{{/isListContainer}}
{{/isQueryParam}}

View File

@@ -1 +1 @@
4.2.0-SNAPSHOT
4.2.1-SNAPSHOT

View File

@@ -41,6 +41,7 @@ public class PetApiHandler {
HttpServerResponse response = routingContext.response();
Single.defer( () -> {
String jsonString = routingContext.getBodyAsString();
Pet pet = jsonString == null ? null : Json.decodeValue(jsonString, new TypeReference<Pet>(){});
logger.info("Parameter pet is {}", pet);
@@ -68,6 +69,7 @@ public class PetApiHandler {
Single.defer( () -> {
Long petId = ParameterCast.toLong(routingContext.pathParams().get("petId"));
String apiKey = ParameterCast.toString(routingContext.request().getHeader("api_key"));
logger.info("Parameter petId is {}", petId);
logger.info("Parameter apiKey is {}", apiKey);
return apiImpl.deletePet(petId, apiKey);
@@ -93,6 +95,7 @@ public class PetApiHandler {
Single.defer( () -> {
List<String> status = routingContext.request().params().getAll("status");
logger.info("Parameter status is {}", status);
return apiImpl.findPetsByStatus(status);
})
@@ -117,6 +120,7 @@ public class PetApiHandler {
Single.defer( () -> {
List<String> tags = routingContext.request().params().getAll("tags");
logger.info("Parameter tags is {}", tags);
return apiImpl.findPetsByTags(tags);
})
@@ -141,6 +145,7 @@ public class PetApiHandler {
Single.defer( () -> {
Long petId = ParameterCast.toLong(routingContext.pathParams().get("petId"));
logger.info("Parameter petId is {}", petId);
return apiImpl.getPetById(petId);
})
@@ -164,6 +169,7 @@ public class PetApiHandler {
HttpServerResponse response = routingContext.response();
Single.defer( () -> {
String jsonString = routingContext.getBodyAsString();
Pet pet = jsonString == null ? null : Json.decodeValue(jsonString, new TypeReference<Pet>(){});
logger.info("Parameter pet is {}", pet);
@@ -192,6 +198,7 @@ public class PetApiHandler {
Long petId = ParameterCast.toLong(routingContext.pathParams().get("petId"));
String name = ParameterCast.toString(routingContext.request().getFormAttribute("name"));
String status = ParameterCast.toString(routingContext.request().getFormAttribute("status"));
logger.info("Parameter petId is {}", petId);
logger.info("Parameter name is {}", name);
logger.info("Parameter status is {}", status);
@@ -220,6 +227,7 @@ public class PetApiHandler {
Long petId = ParameterCast.toLong(routingContext.pathParams().get("petId"));
String additionalMetadata = ParameterCast.toString(routingContext.request().getFormAttribute("additionalMetadata"));
FileUpload file = routingContext.fileUploads().iterator().next();
logger.info("Parameter petId is {}", petId);
logger.info("Parameter additionalMetadata is {}", additionalMetadata);
logger.info("Parameter file is {}", file);

View File

@@ -36,6 +36,7 @@ public class StoreApiHandler {
Single.defer( () -> {
String orderId = ParameterCast.toString(routingContext.pathParams().get("orderId"));
logger.info("Parameter orderId is {}", orderId);
return apiImpl.deleteOrder(orderId);
})
@@ -59,6 +60,7 @@ public class StoreApiHandler {
HttpServerResponse response = routingContext.response();
Single.defer( () -> {
return apiImpl.getInventory();
})
.subscribe(
@@ -82,6 +84,7 @@ public class StoreApiHandler {
Single.defer( () -> {
Long orderId = ParameterCast.toLong(routingContext.pathParams().get("orderId"));
logger.info("Parameter orderId is {}", orderId);
return apiImpl.getOrderById(orderId);
})
@@ -105,6 +108,7 @@ public class StoreApiHandler {
HttpServerResponse response = routingContext.response();
Single.defer( () -> {
String jsonString = routingContext.getBodyAsString();
Order order = jsonString == null ? null : Json.decodeValue(jsonString, new TypeReference<Order>(){});
logger.info("Parameter order is {}", order);

View File

@@ -39,6 +39,7 @@ public class UserApiHandler {
HttpServerResponse response = routingContext.response();
Single.defer( () -> {
String jsonString = routingContext.getBodyAsString();
User user = jsonString == null ? null : Json.decodeValue(jsonString, new TypeReference<User>(){});
logger.info("Parameter user is {}", user);
@@ -64,6 +65,7 @@ public class UserApiHandler {
HttpServerResponse response = routingContext.response();
Single.defer( () -> {
String jsonString = routingContext.getBodyAsString();
List<User> user = jsonString == null ? null : Json.decodeValue(jsonString, new TypeReference<List<User>>(){});
logger.info("Parameter user is {}", user);
@@ -89,6 +91,7 @@ public class UserApiHandler {
HttpServerResponse response = routingContext.response();
Single.defer( () -> {
String jsonString = routingContext.getBodyAsString();
List<User> user = jsonString == null ? null : Json.decodeValue(jsonString, new TypeReference<List<User>>(){});
logger.info("Parameter user is {}", user);
@@ -115,6 +118,7 @@ public class UserApiHandler {
Single.defer( () -> {
String username = ParameterCast.toString(routingContext.pathParams().get("username"));
logger.info("Parameter username is {}", username);
return apiImpl.deleteUser(username);
})
@@ -139,6 +143,7 @@ public class UserApiHandler {
Single.defer( () -> {
String username = ParameterCast.toString(routingContext.pathParams().get("username"));
logger.info("Parameter username is {}", username);
return apiImpl.getUserByName(username);
})
@@ -164,6 +169,7 @@ public class UserApiHandler {
Single.defer( () -> {
String username = ParameterCast.toString(routingContext.queryParams().get("username"));
String password = ParameterCast.toString(routingContext.queryParams().get("password"));
logger.info("Parameter username is {}", username);
logger.info("Parameter password is {}", password);
return apiImpl.loginUser(username, password);
@@ -188,6 +194,7 @@ public class UserApiHandler {
HttpServerResponse response = routingContext.response();
Single.defer( () -> {
return apiImpl.logoutUser();
})
.subscribe(
@@ -211,6 +218,7 @@ public class UserApiHandler {
Single.defer( () -> {
String username = ParameterCast.toString(routingContext.pathParams().get("username"));
String jsonString = routingContext.getBodyAsString();
User user = jsonString == null ? null : Json.decodeValue(jsonString, new TypeReference<User>(){});
logger.info("Parameter username is {}", username);