31 lines
945 B
Markdown
Executable File
31 lines
945 B
Markdown
Executable File
# r-microservice — Squelette de microservice R (Plumber)
|
|
|
|
Ce projet expose des fonctions R via une API REST **Plumber**, avec:
|
|
- des **fonctions génériques** réutilisables (HTTP, DB, utils, logs),
|
|
- des **fonctions spécifiques** au projet (prétraitement, calculs, post-traitement),
|
|
- un **endpoint** `/compute` permettant soit de **renvoyer un résultat**, soit **d'insérer en base** et retourner un **code retour**.
|
|
|
|
## Lancer en local
|
|
```bash
|
|
Rscript scripts/run.R
|
|
# Puis: http://localhost:8080/health
|
|
```
|
|
|
|
## Exemple d'appel
|
|
```bash
|
|
curl -s -X POST http://localhost:8080/compute -H 'Content-Type: application/json' -d '{"values":[10,12,15,20], "write_to_db": false}' | jq
|
|
```
|
|
|
|
## Docker
|
|
```bash
|
|
docker build -t r-microservice .
|
|
docker run -p 8080:8080 --rm r-microservice
|
|
```
|
|
|
|
> Pour les insertions en base, configurez `config/config.yml` avec vos paramètres Postgres.
|
|
|
|
## Tests
|
|
```r
|
|
testthat::test_dir('tests/testthat')
|
|
```
|