javaVertXServer.apiVerticle.mustache Maven / Gradle / Ivy
package {{package}};
import io.vertx.core.AbstractVerticle;
import io.vertx.core.json.Json;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
import io.vertx.core.logging.Logger;
import io.vertx.core.logging.LoggerFactory;
{{#imports}}import {{import}};
{{/imports}}
import java.util.List;
import java.util.Map;
public class {{classname}}Verticle extends AbstractVerticle {
final static Logger LOGGER = LoggerFactory.getLogger({{classname}}Verticle.class);
{{#operations}}{{#operation}}{{#vendorExtensions}}final static String {{x-serviceId-varName}} = "{{x-serviceId}}";
{{/vendorExtensions}}{{/operation}}{{/operations}}
//TODO : create Implementation
{{classname}} service = new {{classname}}Impl();
@Override
public void start() throws Exception {
{{#operations}}{{#operation}}
//Consumer for {{#vendorExtensions}}{{x-serviceId}}{{/vendorExtensions}}
vertx.eventBus(). consumer({{#vendorExtensions}}{{x-serviceId-varName}}{{/vendorExtensions}}).handler(message -> {
try {
{{#hasParams}}
{{#allParams}}
{{#isListContainer}}
{{{dataType}}} {{paramName}} = Json.mapper.readValue(message.body().getJsonArray("{{baseName}}").encode(),
Json.mapper.getTypeFactory().constructCollectionType(List.class, {{{baseType}}}.class));
{{/isListContainer}}
{{^isListContainer}}
{{#isPrimitiveType}}
{{#isString}}
{{{dataType}}} {{paramName}} = message.body().getString("{{baseName}}");
{{/isString}}
{{^isString}}
{{{dataType}}} {{paramName}} = Json.mapper.readValue(message.body().getString("{{baseName}}"), {{{dataType}}}.class);
{{/isString}}
{{/isPrimitiveType}}
{{^isPrimitiveType}}
{{{dataType}}} {{paramName}} = Json.mapper.readValue(message.body().getJsonObject("{{baseName}}").encode(), {{{dataType}}}.class);
{{/isPrimitiveType}}
{{/isListContainer}}
{{/allParams}}
{{/hasParams}}
{{#rxInterface}}
{{>RxCall}}
{{/rxInterface}}
{{^rxInterface}}
{{>AsyncCall}}
{{/rxInterface}}
} catch (Exception e) {
LOGGER.error("Unexpected error in "+{{#vendorExtensions}}{{x-serviceId-varName}}{{/vendorExtensions}}, e);
message.fail(MainApiException.INTERNAL_SERVER_ERROR.getStatusCode(), MainApiException.INTERNAL_SERVER_ERROR.getStatusMessage());
}
});
{{/operation}}{{/operations}}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy