Trying to perform some updates through an API, I use the following Guzzle GET request on my Laravel 5.3 app:
$newAcc = new Client();
$newAccResponse = $newAcc->request('GET', 'http://' . $this->IP . ':' . $this->Port . '/api/idnode/save', [
'debug' => true,
'auth' => [$this->Username, $this->Password],
'query' => ['node' => json_encode(['uuid' => '94c99249075342945eda3148b4aabdfe', 'enabled' => true, 'comment' => 'testcomment', 'webui' => false])]
]);
This request will always update the field "webui" but it will not update the fields "enabled" and "comment". More than that, my API acts like the fields "enabled" and "comment" aren't even set resulting in clearing both of them.
This is the request from Guzzle:
/api/idnode/save?node=%7B%22uuid%22%3A%2294c99249075342945eda3148b4aabdfe%22%2C%22enabled%22%3Atrue%2C%22webui%22%3Afalse%7D
If I paste it directly into the browser as it is and run it, then the API works correctly and updates the fields.
via m33ts4k0z