Обновить словарь

Обновляет словарь данными, указанными в теле запроса.

Запрос

HTTP Запрос

PATCH /node/api/dictionaries/:id

Параметры пути

Параметр Тип Описание

id

String
обязательный

ID обновляемого словаря.

Параметры тела запроса

Этот запрос использует модель Словарь.

Поле Тип Описание

id

String

ID словаря.

name

String

Имя словаря.

content

String

Пара "ключ – значение" словаря в формате JSON.

Тело запроса

{
    "name": "Door state",
    "content": {
        "1": "Closed",
        "2": "Opened"
    }
}

Ответ

Возвращает обновлённый словарь. Подробная информация о модели доступна в статье Словарь.

Пример

Запрос

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
dictionary_id=<...>
url=https://$saymon_hostname/node/api/dictionaries/$dictionary_id

curl -X PATCH $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
    "name": "Door state",
    "content": {
        "0": "Closed,
        "1": "Opened"
    }
}
EOF
let login = <...>
let password = <...>
let saymonHostname = <...>
let dictionaryId = <...>
let path = "/node/api/dictionaries/" + dictionaryId;
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);

let data = JSON.stringify({
    "name": "Door state",
    "content": {
        "1": "Closed",
        "2": "Opened"
    }
});

let requestOptions = {
    method: "PATCH",
    headers: headers,
    body: data
};

fetch(saymonHostname + path, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let dictionaryId = <...>
let path = "/node/api/dictionaries/" + dictionaryId;
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "PATCH",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    },
    "path": path
};

let req = http.request(options, function (res) {
    let chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        let body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

let data = JSON.stringify({
    "name": "Door state",
    "content": {
        "1": "Closed",
        "2": "Opened"
    }
});

req.write(data);
req.end();
import requests

login = <...>
password = <...>
saymon_hostname = <...>
dictionary_id = <...>
url = "https://" + saymon_hostname + "/node/api/dictionaries/" + dictionary_id

body = {
    "name": "Door status",
    "content": {
        "1": "Closed",
        "2": "Opened"
    }
}

response = requests.request("PATCH", url, json=body, auth=(login, password))
print(response.text)

Ответ

{
    "id": "5e9eb1bf10b1f754077f3f03",
    "name": "Door status",
    "content": "{\"1\":\"Closed\",\"2\":\"Opened\"}"
}