# API REST

```{toctree}
:maxdepth: 1

route
methode
parametres
retour
```

Les web-services BDPREV sont des web-services REST.

L'API REST fournit un ensemble de web-services qui prend
en compte différents éléments du protocole HTTP.

Pour les appeler, il faut fournir:

- une route (URI)
- une méthode HTTP (GET, POST, PUT, DELETE)
- des en-têtes HTTP
- des paramètres

## Web-services de publication

Pour chaque objet (scénario, exécution, modèle) de la base de données de prévision, 2 web-services sont disponibles:

- un web-service de recherche d'objets.
- un web-service de publication d'un objet par son code.

Le web-service de recherche permet notamment de lister des objets au format court.
La publication d'objets permet de publier l'objet dans son intégralité. 

### Web-services de recherche

Pour les web-services de recherche, les paramètres de recherche doivent être transmis dans l'URL.
Exemple:

https://bdprev/event?dtdebut=2020-01-01T00:00:00&dtfin=2023-01-01T00:00:00&cdsiteshydro=A1234567
.
En utilisant l'url suivante, le web-service de recherche d'événements renverra l'ensemble des événements 
intersectant la période 2020-01-01 et 2023-01-01 et associé au site hydro de code A1234567

### Web-services de publication d'un objet par son code

Le code doit correspondre au dernier segment de l'url.
Il ne doit pas être fourni en tant que paramètre de l'url.

Exemple:

https://bdprev/event/0

En utilisant l'url suivante, le web-service renverra s'il existe l'événement de code 0.
