Aller au contenu
mamoreau

Problème API PUT

Recommended Posts

Bonjour 

 

j'ai un problème, cette commande ne fonctionne pas et je ne comprends pas pourquoi, pouvez vous m'aider :

 

HCL = Net.FHttp("192.168.0.200",80)
HCL:setBasicAuthentication("xxxxx","xxxxxxx");
jtable = '{"properties":{"parameters":[{"id": 166,"name": "Température RDC","mode": "Vacation","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 12,"currentTemperature": 12,"rooms": [4,40,41,57,93]},"created": 1540796527,"modified": 1540796527}'
local response, status, err = HCL:PUT("/api/devices/166",jtable)

Partager ce message


Lien à poster
Partager sur d’autres sites

Il y a au moins une erreur dans la valeur de jtable ("[" de parameters non fermé).

Utiliser par exemple https://jsonlint.com/ pour la valider.

Modifié par Barelle

Partager ce message


Lien à poster
Partager sur d’autres sites

En effet :

HCL = Net.FHttp("192.168.0.200",80)
HCL:setBasicAuthentication("xxxxx","xxxxxxx");
jtable = '{"properties":{"parameters":[{"id": 166,"name": "Température RDC","mode": "Vacation","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 12,"currentTemperature": 12,"rooms": [4,40,41,57,93]},"created": 1540796527,"modified": 1540796527}]'
local response, status, err = HCL:PUT("/api/devices/166",jtable)

 

Mais cela ne fonctionne pas.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, mais dans le json n'est toujours pas valid :

La validation par le site https://jsonlint.com/ retourne l'erreur suivante :

Error: Parse error on line 16:
...ed": 1540796527		}]
----------------------^
Expecting '}', ',', got 'EOF'

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 12 minutes, Barelle a dit :

Oui, mais dans le json n'est toujours pas valid :

La validation par le site https://jsonlint.com/ retourne l'erreur suivante :


Error: Parse error on line 16:
...ed": 1540796527		}]
----------------------^
Expecting '}', ',', got 'EOF'

Ok,

 

mais je ne vois pas l'erreur :

 

jtable = '{"properties":{"parameters":[{"id": 166,"name": "Température RDC","mode": "Vacation","properties": {"handTemperature": 0,"handTimestamp": 0,"vacationTemperature": 12,"currentTemperature": 12,"rooms": [4,40,41,57,93]},"created": 1540796527,"modified": 1540796527}]}}'

Partager ce message


Lien à poster
Partager sur d’autres sites

Essaie de faire http://192.168.0.200/docs/#! puis d'interroger les valeurs de l'id 166 et de t'en inspirer pour construire ton json.

 

Je suis surpris de trouver parameters comme clé de properties, il me semble que c'est plutôt l'inverse...

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×