Méthode PUT permettant d'éditer une vue météo, à l'instar du mode édition JSON de l'Interface de Visualisation ( voir la page Édition JSON - Météo ).
Le paramètre ID reçu dans l'URL identifie la vue météo à modifier.
Le corps de la requête doit contenir le nouveau contenu de la vue météo ( voir la page JSON d'exemple pour commencer - Édition JSON - Météo ).
La requête réécrit toute la vue. Il faut envoyer le JSON avec tous les widgets voulus. |
| Codes de retour | Explications |
|---|---|
| 200 | OK |
| 400 | Le JSON est invalide ou contient des erreurs. |
| 401 | L'accès nécessite une authentification ou un Token valide. |
| 403 | Authentification de l'utilisateur OK, mais droits non suffisants. |
| 404 | La vue météo n'existe pas. |
| 500 | L'appel est valide, mais un problème d'exécution est rencontré. |
Exemple de commande curl avec le contenu du JSON de la vue dans un fichier "weather_view.json"
curl -s -S -U 'username:password' -X PUT \ -H 'Content-Type: application/json' -d '@-' \ "http://webui:7767/external-api/service-weather/v1/update/WEATHER_UUID" < ./weather_view.json |
L'option -d '@-' demande à curl de lire le corps de la requête dans l'entrée standard, permettant d'y injecter le contenu du fichier "weather_view.json". |
Exemple de sortie attendue :
{
"critical": [],
"errors": [],
"warnings": [],
"output": {
"view_info": {
"name": "Bordeaux",
"state": "draft",
"type": "service_weather",
"weather_uuid": "ab512c70e84a4c7a9b0e23b46eec5355",
"weather_version": 2,
"weather_format_version": 5,
"weather_shared_group": "service_weather",
"weather_creation_time": 1787666586.1508853
},
"view_json": {
...
}
}
} |
Dans view_json se trouve le contenu de la vue météo sauvegardée. S'il y a eu une erreur de validation ( les champs errors et critical contiennent des messages ), le JSON fournit n'a pas été sauvegardé et la route retourne le contenue de la vue actuelle. |
Les messages d'erreurs et d'attention liées à la vue seront dans les champs critical, errors et warnings respectivement ( voir la page Gestion des problèmes de configuration - Édition - Météo ). Exemple avec un widget météo non configuré :
|
curl -s -S -U 'username:password' -X PUT \ -H 'Content-Type: application/json' -d '@-' \ "http://webui:7767/external-api/service-weather/v1/update/unknown_uuid" < ./weather_view.json |
{
"output": "Weather with uuid [ unknown_uuid ] was not found"
} |