51 lines
2.1 KiB
Java
51 lines
2.1 KiB
Java
package com.example.starter;
|
|
|
|
import io.vertx.ext.web.handler.BodyHandler;
|
|
import io.vertx.ext.web.handler.CorsHandler;
|
|
import io.vertx.core.http.HttpMethod;
|
|
import io.vertx.core.AbstractVerticle;
|
|
import io.vertx.core.Promise;
|
|
|
|
import io.vertx.ext.web.Router;
|
|
|
|
public class MainVerticle extends AbstractVerticle {
|
|
private DatabaseService databaseService;
|
|
|
|
@Override
|
|
public void start(Promise<Void> startPromise) throws Exception {
|
|
databaseService = new DatabaseService(vertx);
|
|
QueryObjects queryObjects = new QueryObjects(databaseService);
|
|
QueryWeatherData queryWeather = new QueryWeatherData(databaseService);
|
|
SetObjects setObjects = new SetObjects(databaseService);
|
|
SetWeatherData setWeatherData = new SetWeatherData(databaseService);
|
|
// Create a Router
|
|
Router router = Router.router(vertx);
|
|
router.route().handler(BodyHandler.create());
|
|
router.route().handler(CorsHandler.create()
|
|
.addOrigin("*") // Allow all origins
|
|
.allowedMethod(HttpMethod.GET) // Allow GET requests
|
|
.allowedMethod(HttpMethod.POST) // Allow POST requests
|
|
.allowedHeader("Content-Type") // Allow Content-Type header
|
|
.allowedHeader("Authorization"));
|
|
router.get("/objets").handler(queryObjects::getObjects);
|
|
router.get("/objet").handler(queryObjects::getParticularObject);
|
|
router.post("/modifObjet").handler(setObjects::setInfoObjet);
|
|
router.get("/wind").handler(queryWeather::getWindInfos);
|
|
router.get("/meteo").handler(queryWeather::getMeteoInfos);
|
|
router.post("/addObject").handler(setObjects::newObject);
|
|
router.get("/getRange").handler(queryWeather::getRangeData);
|
|
router.post("/modifRangeData").handler(setWeatherData::setRangeData);
|
|
|
|
vertx.createHttpServer()
|
|
.requestHandler(router)
|
|
.listen(8888)
|
|
.onSuccess(server -> {
|
|
System.out.println("HTTP server started on port " + server.actualPort());
|
|
startPromise.complete();
|
|
})
|
|
.onFailure(throwable -> {
|
|
throwable.printStackTrace();
|
|
startPromise.fail(throwable);
|
|
});
|
|
}
|
|
} |