Я хочу создать API контроллера дома для различных устройств (кондиционер, освещение, управление движением и т. Д. c), поэтому у меня есть следующее определение API, но каждое устройство имеет свои свойства и конфигурации, поэтому я подумал создать конечные точки некоторых типов.
GET / api / devices /
[{
"deviceId": "1"
"name": "Device 1",
}, {
"deviceId": "2"
"name": "Device 2",
}, {
"deviceId": "3"
"name": "Device 3"
}]
GET / api / device / 1
{
"deviceId": "1"
"name": "Device 1",
}
GET / api / кондиционирование / unit / 1 / статус
{
"deviceId": "1"
"temperature: 22"
"state": 1"
}
GET / API / освещения / переключатель / 2 / статус
{
"deviceId": "2"
"state": 1"
}
GET / API / освещения / диммер / 3 / статус
{
"deviceId": "3"
"state": 1"
"dim": 70"
}
Примеры, которые я видел, люди пытаются унифицировать свойства, но я хотел бы иметь строго определенные свойства для каждого устройства.
Проблема в том, что я не знаю, правильно ли это, потому что у вас есть две конечные точки, указывающие на тот же ресурс
GET / API / устройство / 1
GET / API / кондиционер / устройство / 1