Senior
Zadatak br. 2: Dizajnirajte REST API za društvenu mrežu VKontakte sa sledećim operacijama: • dodavanje i uklanjanje prijatelja; • pregled prijatelja korisnika; • pregled korisničkog profila; • objavljivanje posta na feed; • učitavanje medijskih fajlova za postove; • pregled feed-a postova (početna stranica i korisnici); • pregled korisničkih dijaloga i chatova; • slanje i čitanje poruka u dijalozima i chatovima. addFriend(post) POST /users/{id}/friends deleteFriend(delete) DELETE /users/{id}/friends/{friends_id} getUserFriends(get) GET /users/{id}/friends getUserForm(get) GET /users/{id}/profile createPost(post) POST /posts uploadMediaFile(post) POST /media getFeed(home/user) GET /feed GET /users/{id}/feed getDialogues(get) GET /dialogs sendMessage(post) POST /dialogs/{id}/messages getMessage(get) GET /dialogs/{id}/messages
sobes.tech АИ
Одговор од АИ
Проектирование REST API для социальной сети ВКонтакте с указанными операциями можно представить следующим образом:
-
Добавление друга:
- Метод: POST
- Путь:
/users/{id}/friends - Тело запроса: ID пользователя, которого добавляют в друзья
-
Удаление друга:
- Метод: DELETE
- Путь:
/users/{id}/friends/{friend_id}
-
Просмотр друзей пользователя:
- Метод: GET
- Путь:
/users/{id}/friends
-
Просмотр анкеты пользователя:
- Метод: GET
- Путь:
/users/{id}/profile
-
Публикация поста:
- Метод: POST
- Путь:
/posts - Тело запроса: содержимое поста, ID автора
-
Загрузка медиа файлов:
- Метод: POST
- Путь:
/media - Тело запроса: файл (multipart/form-data)
-
Просмотр ленты постов:
- Домашняя лента:
- Метод: GET
- Путь:
/feed
- Лента конкретного пользователя:
- Метод: GET
- Путь:
/users/{id}/feed
- Домашняя лента:
-
Просмотр диалогов и чатов:
- Метод: GET
- Путь:
/dialogs
-
Отправка сообщений:
- Метод: POST
- Путь:
/dialogs/{id}/messages - Тело запроса: текст сообщения, вложения
-
Чтение сообщений:
- Метод: GET
- Путь:
/dialogs/{id}/messages
Такой дизайн соответствует REST принципам, где ресурсы представлены в виде URL, а методы HTTP определяют действие.
Пример запроса на добавление друга (curl):
curl -X POST https://api.vk.com/users/123/friends -d '{"friend_id":456}' -H "Content-Type: application/json"
Это позволит клиенту добавить пользователя с ID 456 в друзья пользователя с ID 123.