У меня есть RESTful API в веб-сервисе с такими ресурсами, как пользователи, сообщения и т.д. Когда я делаю запрос на список сообщений (GET/posts), я хочу получить массив сообщений только с уменьшенной частью данных для каждого сообщения (т.е. Темы, имени автора). Когда я делаю запрос на конкретный пост (GET/posts/42), я хочу получить полный список полей post object, включая большой почтовый ящик, дополнительную информацию о том, как нравится подсчет, количество комментариев. Я полагаю, существует множество способов решения этой проблемы. На мой взгляд, 3 наиболее очевидны:
- Явное указание полей по каждому запросу (/posts? fileds = subject, author_name и для /сообщений/42? = поля предмет, тело, createaAt, author_name, comments_count, LIKES_COUNT и т.д...).
- Явным образом укажите список полей только в том случае, если он отличается от стандартного список полей.
- Укажите список полей, которые должны быть исключены (или inlcuded) из (до) полей по умолчанию, заданных, если желаемые поля устанавливаются по-разному.
Я создаю ясный и полезный API для своих клиентов. Какой способ выбрать?