#json #api #rest #hal
Вопрос:
Я работаю над api REST для своей дипломной работы бакалавра, и прямо сейчас я хочу определить ресурсы. Api REST получает данные от клиента OPC UA. Все, что я хочу охватить, — это получение узлов, получение отдельных атрибутов узлов и ссылок(на другие узлы). Также я хочу иметь возможность обновлять отдельные атрибуты узла, просматривать ссылки и подписываться на атрибуты узла.
Мои ресурсы прямо сейчас таковы:
/:nodeid (GET)
/:nodeid/attributes (GET)
/:nodeid/attributes/:attribute (GET, PUT, POST to start a subscription via websocket)
/:nodeid/references (GET)
Я немного сбит с толку, когда дело доходит до JSON HAL. Должен ли я использовать _embedded или _links для вложенных ресурсов в разделе :nodeid ?
И должен ли я вообще использовать ресурсы списка, такие как «атрибуты» и «ссылки»? Что действительно сводит меня с ума, так это чрезмерная и недостаточная привлекательность. В текущей реализации мой результат для :nodeid не перегружен, если я использую списки, но я делаю недостаточную выборку, когда дело доходит до определенного атрибута, потому что мне нужно сделать еще один запрос, чтобы получить список атрибутов …список, который я уже мог бы иметь, если бы я включил все атрибуты в _links.
Но включение всех атрибутов и ссылок через _links было бы чрезмерной выборкой, особенно если узел может иметь тысячи ссылок, а также множество атрибутов.