Introduzione a Spark
Da non confondere con Apache Spark, Spark è un frameowrk per applicazioni web per Java.
L'ho trovato, almeno inizialmente, abbastanza semplice da usare, e anche abbastanza familiare se avete già usato Node.js ed Express.
Inoltre, di default, utilizza una versione embedded di Jetty, e quindi non ci sono server da configurare (ma potete comunque usarne un altro se volete).
Iniziamo a vedere qualcosa; useremo Maven, e va bene qualsiasi IDE (io uso Netbeans).
Create il progetto ed agguingete questa dipendenza nel vostro pom.xml:
<dependencies>
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.6.0</version>
</dependency>
</dependencies>
Compilate il progetto per scaricare le librerie.
A questo punto create una classe con il metodo main:
import static spark.Spark.*;
public class Main {
public static void main(String[] args) {
get("/", (req, res) -> "Home page");
get("/nome/:nome", (req, res) -> {
return "Il tuo nome è " + req.params(":nome");
});
}
}
Abbiamo configurato due routes, di cui la seconda richiede un parametro:
- http://localhost:4567/
- http://localhost:4567/nome/mattepuffo
La porta di default è la 4567, ma è possibile cambiarla:
import static spark.Spark.*;
public class Main {
public static void main(String[] args) {
port(8080);
get("/", (req, res) -> "Home page");
get("/nome/:nome", (req, res) -> {
return "Il tuo nome è " + req.params(":nome");
});
}
}
Volendo è possibile raggruppare le routes simili con path:
import static spark.Spark.*;
public class Main {
public static void main(String[] args) {
port(8080);
get("/", (req, res) -> "Home page");
path("/user", () -> {
get("/nome/:nome", (req, res) -> {
return "Il tuo nome è " + req.params(":nome");
});
get("/cognome/:cognome", (req, res) -> {
return "Il tuo cognome è " + req.params(":cognome");
});
delete("/delete", (req, res) -> {
// Cancella username
});
});
}
}
Quindi le routes qua sarebbero:
- http://localhost:4567/
- http://localhost:4567/user/nome/matte
- http://localhost:4567/user/cognome/puffo
- http://localhost:4567/user/delete
Ovviamente non si conclude qui, le possibilità sono tantissime, ma devo ancora sudiarmelo.
In un prossimo articolo vedremo come usare i template.
Enjoy!
java spark maven jetty
Commentami!