| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Concept
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 ).
Les paramètres
Le paramètre ID reçu dans l'URL identifie la vue météo à modifier.
Le corps de la requête
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 ).
| Info |
|---|
La requête réécrit toute la vue. Il faut envoyer le JSON avec tous les widgets voulus. |
Réponse
Codes de retour
| 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é. |
Retour du code 200
Exemple de commande curl avec le contenu du JSON de la vue dans un fichier "weather_view.json"
| Code Block | ||||
|---|---|---|---|---|
| ||||
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 |
| Tip |
|---|
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 :
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"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": {
...
}
}
} |
| Info |
|---|
Dans view_json se trouve le contenu de la vue météo sauvegardée. |
Messages de validation
| Excerpt | |||||||||
|---|---|---|---|---|---|---|---|---|---|
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é :
|
Retour du code 400
JSON invalide
| Code Block | ||||
|---|---|---|---|---|
| ||||
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" |
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"output": "Invalid JSON"
} |
Messages d'erreurs de validation
S'il y a eu une erreur de validation ( les champs errors et critical contiennent des messages ), le JSON fournit sera retournée mais n'aura pas été sauvegardé.
Les messages d'attention n'empêchent pas la sauvegarde de la vue.
( Voir les pages Gestion des problèmes de configuration - Édition - Météo et Liste des problèmes de configuration - Édition - Météo ).
Retour du code 404
| Code Block | ||||
|---|---|---|---|---|
| ||||
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 |
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"output": "Weather with uuid [ unknown_uuid ] was not found"
} |
| Excerpt Include | ||||||
|---|---|---|---|---|---|---|
|