API REST - Open API
Une API REST (ou RESTful API) est un type d'API (Application Programming Interface) qui utilise les principes de l'architecture REST. Elle permet la communication entre des systèmes via des requêtes HTTP, en utilisant des opérations standard comme GET, POST, PUT, DELETE, etc.
Open ENT V3 propose l'ensemble de API sous forme d'API documentée au format Open API.
Téléchargement du fichier OPEN API
Le fichier de définition des API au format Open API peut être disponible à l'url une fois que le launcher est lancé.
Le fichier généré n'est pas disponible en mode production.
http://localhost:8090/q/openapi
Documentation des API
Chaque API est documentée dans le code avec les annotations de la spécification MicroProfile OpenAPI.
Exemple :
modules/directory/src/main/java/fr/tech/openent/directory/resource/TenantResource.java
@POST
@Path("/tenant")
@Operation(summary = "Create a tenant", description = "Returns a created tenant.")
@APIResponses(value = {
@APIResponse(responseCode = "201", description = "Successful, returns a tenant"),
})
@SecuredAction("tenant.create")
@IgnoreCsrf
public Uni<Response> create(final HttpServerRequest request) {
return Uni.createFrom().emitter(emitter -> {
bodyToJson(request, DefaultResourcePath.DIRECTORY_HTTP_ROOT_PATH + "/createTenant", event -> {
tenantService.create(event, result -> {
if (result.isRight()) {
emitter.complete(Response.status(201).entity(result.isRight()).build());
} else {
emitter.fail(new RuntimeException("Failed to create tenant"));
}
});
});
});
}