All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javaVertXServer.apiVerticle.mustache Maven / Gradle / Ivy

The newest version!
package {{package}};

import com.fasterxml.jackson.core.type.TypeReference;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Handler;
import io.vertx.core.eventbus.Message;
import io.vertx.core.json.Json;
import io.vertx.core.json.JsonObject;
import io.vertx.ext.auth.User;
import com.github.phiz71.vertx.swagger.router.SwaggerRouter;

{{#imports}}import {{import}};
{{/imports}}

import java.util.List;
import java.util.Map;

public class {{classname}}Verticle extends AbstractVerticle {
    private VerticleHelper verticleHelper = new VerticleHelper(this.getClass());

    {{#operations}}{{#operation}}{{#vendorExtensions}}private static final String {{x-serviceId-varName}} = "{{x-serviceId}}";
    {{/vendorExtensions}}{{/operation}}{{/operations}}

    private {{classname}} service = createServiceImplementation();

    {{#operations}}{{#operation}}//Handler for {{#vendorExtensions}}{{x-serviceId}}{{/vendorExtensions}}
    final Handler> {{#vendorExtensions}}{{x-serviceId}}{{/vendorExtensions}}Handler = message -> {
        try {
    {{#hasAuthMethods}}
            User user = SwaggerRouter.extractAuthUserFromMessage(message);
    {{/hasAuthMethods}}
    {{#hasParams}}
        {{#allParams}}
            {{#isListContainer}}
            {{{dataType}}} {{paramName}} = Json.mapper.readValue(message.body().getJsonArray("{{baseName}}").encode(), new TypeReference<{{{dataType}}}>(){});
            {{/isListContainer}}
            {{^isListContainer}}
                {{#isPrimitiveType}}
                    {{#isString}}
                        {{#vendorExtensions}}
                            {{#X-isUUID}}
                                {{#required}}
            {{{dataType}}} {{paramName}} = {{{dataType}}}.fromString(message.body().getString("{{baseName}}"));
                                {{/required}}
                                {{^required}}
            {{{dataType}}} {{paramName}} = null;
            if(message.body().getString("{{baseName}}") != null) {
                {{paramName}} = {{{dataType}}}.fromString(message.body().getString("{{baseName}}"));
            }
                                {{/required}}
                            {{/X-isUUID}}
                            {{^X-isUUID}}
            {{{dataType}}} {{paramName}} = message.body().getString("{{baseName}}");
                            {{/X-isUUID}}
                        {{/vendorExtensions}}
                        {{^vendorExtensions}}
            {{{dataType}}} {{paramName}} = message.body().getString("{{baseName}}");
                        {{/vendorExtensions}}
                    {{/isString}}
                    {{^isString}}
                        {{#required}}
            {{{dataType}}} {{paramName}} = Json.mapper.readValue(message.body().getString("{{baseName}}"), {{{dataType}}}.class);
                        {{/required}}
                        {{^required}}
            {{{dataType}}} {{paramName}} = null;
            if(message.body().getString("{{baseName}}") != null) {
                {{paramName}} = Json.mapper.readValue(message.body().getString("{{baseName}}"), {{{dataType}}}.class);
            }
                        {{/required}}
                    {{/isString}}
                {{/isPrimitiveType}}
                {{^isPrimitiveType}}
                    {{#isFile}}
            {{{dataType}}} {{paramName}} = new {{{dataType}}}(message.body().getString("{{baseName}}"));
                    {{/isFile}}
                    {{^isFile}}
            {{{dataType}}} {{paramName}} = Json.mapper.readValue(message.body().getJsonObject("{{baseName}}").encode(), {{{dataType}}}.class);
                    {{/isFile}}
                {{/isPrimitiveType}}
            {{/isListContainer}}
        {{/allParams}}
    {{/hasParams}}
    {{#rxInterface}}
{{>RxCall}}
    {{/rxInterface}}
    {{^rxInterface}}
{{>AsyncCall}}
    {{/rxInterface}}
        } catch (Exception e) {
            verticleHelper.manageError(message, e, {{#vendorExtensions}}{{x-serviceId-varName}}{{/vendorExtensions}});
        }
    };

    {{/operation}}{{/operations}}

    @Override
    public void start() throws Exception {
        {{#operations}}{{#operation}}vertx.eventBus(). consumer({{#vendorExtensions}}{{x-serviceId-varName}}{{/vendorExtensions}}).handler({{#vendorExtensions}}{{x-serviceId}}{{/vendorExtensions}}Handler);
        {{/operation}}{{/operations}}
    }

    protected {{classname}} createServiceImplementation() {
        return new {{classname}}Impl();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy