Skip to main content

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"));
}
});
});
});
}