API список каналов - mesto-co/core GitHub Wiki

api/v1/channels - список каналов

Параметр Значение
Method GET
Authorization -
Query parameters -
  • При получении запроса необходимо сделать обращение к БД к таблие Channel с параметром isPublished == true
  • Сформировать ответ

Пример ответа

[
  {
	"title":".News",
	"url":"http://openland.com/somePath"
  },
  {
	"title":".Groups",
	"url":"http://openland.com/somePath2"
  }
]

/private/api/v1/channels - Добавить канал

Параметр Значение
Method POST
Authorization +
Query parameters -
  • При получении запроса получить объект
  • Проверить, что url - является url
  • Добавить запись в БД в таблицу Channel

пример запроса

{
  "title":".News",
  "url":"http://openland.com/somePath",
  "isPublished": false
}

/private/api/v1/channels/:channelId - Удалить канал

Параметр Значение
Method DELETE
Authorization +
Path parameters channelId
  • При получении запроса проверить авторизацию, если все ок - удалить запись по id
  • Вернуть ответ HTTPStatus.ok

/private/api/v1/channels/:channelId - изменить канал

Параметр Значение
Method PUT
Authorization +
Path parameters channelId
  • При получении запроса получить объект
  • Проверить, что url - является url
  • Обновить запись в БД в таблице Channel по channelId

пример запроса

{
  "title":".News",
  "url":"http://openland.com/somePath",
  "isPublished": false
}
Заглушка списка каналов
[
  {
	"title":"Mesto.",
	"url":"https://openland.com/mail/5Xmd1J763nhJvBxzza3bHQgWbJ"
  },
  {
	"title":".News",
	"url":"https://openland.com/mail/rAb139w0DKSzVzmvla44FV4p9Z"
  },
  {
	"title":".Ideas",
	"url":"https://openland.com/mail/g065jdJYAyh69eoj1JmZhepalQ"
  },
  {
	"title":".NeedHelp",
	"url":"https://openland.com/mail/g065jdJYARsA0v3AR1aMh7qeYw"
  },
  {
	"title":".Kitchen",
	"url":"https://openland.com/mail/ZYx4d9K6oMczWjd5mv9wh0rkLb"
  },
  {
	"title":".Spasibo",
	"url":"https://openland.com/mail/1pm4Xrl3MAhmX611Y3L5CWYm3a"
  },
  {
	"title":".CanHelp",
	"url":"https://openland.com/mail/rAb139w0DqsQRQQ09xwlcLe0WZ"
  },
  {
	"title":".Feedback",
	"url":"https://openland.com/mail/qljZr9WbXKhrRq6EDJXYU4Bo4b"
  },
  {
	"title":".Groups",
	"url":"https://openland.com/mail/p3BPqKmj9atOz3e0myyWHnnLKy"
  },
  {
	"title":".Jobs",
	"url":"https://openland.com/mail/VywdDrg3PocDM7rJy6xLCOkr3A"
  },
  {
	"title":".Archive",
	"url":"https://openland.com/mail/0DW7dl3r46iA9wayv5kmFxO4Be"
  },
  {
	"title":".Marketing",
	"url":"https://openland.com/mail/BPV0ZljYQjTvK4ePVpYVfOXVwl"
  }
]