allora, seguendo il tuo consiglio ho fatto così:
e poi nel routing:codice:import com.zara.api.zara_api.utils.JsonUtils; import com.zara.api.zara_api.utils.JwtHelper; import io.vertx.core.http.HttpServerResponse; import io.vertx.core.json.JsonObject; import io.vertx.ext.web.RoutingContext; public class UtentiController { private final JwtHelper jwtHelper; public UtentiController(JwtHelper jwtHelper) { this.jwtHelper = jwtHelper; } public void index(RoutingContext routingContext) { HttpServerResponse response = routingContext.response(); response.putHeader("content-type", "text/plain").end("Utenti"); } public void login(RoutingContext routingContext) { HttpServerResponse response = routingContext.response(); if (!routingContext.body().isEmpty()) { JsonObject jsonObject = routingContext.body().asJsonObject(); String username = jsonObject.getString("username"); String password = jsonObject.getString("password"); // ESEGUO QUERY if (username.equals("matteo") && password.equals("132456")) { response .putHeader("content-type", "application/json") .end(JsonUtils.loginJson("ok", "Login effettuato!", jwtHelper.relaeseToken())); } else { response .setStatusCode(400) .putHeader("content-type", "application/json") .end(JsonUtils.genericJson("ko", "Credenziali errate!")); } } else { response .setStatusCode(400) .putHeader("content-type", "application/json") .end(JsonUtils.genericJson("ko", "Dati non presenti!")); } } }
sembra funzionare tutto.codice:JwtHelper jwtHelper = new JwtHelper(); UtentiController utentiController = new UtentiController(jwtHelper); Router router = Router.router(vertx); router.route().handler(BodyHandler.create()); router.get("/").handler(ctx -> { Utils utils = new Utils(); HttpServerResponse response = ctx.response(); response.putHeader("content-type", "text/plain"); response.end(utils.getVersion()); }); router.get("/utenti").handler(utentiController::index); router.post("/utenti/login").handler(utentiController::login);
-------------
poi volevo capire se c'è la possibilità di raggruppare le route.
ho un pò cercato ma non ho trovato (probabilmente ho cercato male io).
per intenderci, e fare un esempio concreto, in laravel (PHP) si fa una cosa così:
cosi ho "macro rotta" ha le sue rotte.codice:Route::group(["prefix" => "articoli", "middleware" => ["auth:sanctum"]], function () { Route::get('/', [ArticoliEcommerceController::class, 'index']); Route::get('/{id}', [ArticoliEcommerceController::class, 'getById']); Route::get('/brand/{id}', [ArticoliEcommerceController::class, 'getByBrand']); Route::post('/add', [ArticoliEcommerceController::class, 'add']); Route::post('/up_sconti', [ArticoliEcommerceController::class, 'upSconti']); });
non so, ma non ho trovato ancora nulla al riguardo.

Rispondi quotando