-
Notifications
You must be signed in to change notification settings - Fork 1
Server API
avdosev edited this page Jul 15, 2019
·
10 revisions
Content-type: application/json
на данный момент отправляются отрендеренный хтмл
- / - сервер отправляет: index
- /register - сервер отправляет: register
- /sign_In - сервер отправляет: signin
- /home сервер - отправляет: home
- /createArticle - сервер отправляет: createArticle
- /post/:id/ - сервер отправляет: article
- /author/:login - сервер отправляет: authorProfile
- post '/sign_In'
{
email : string,
password : string
}
Валидный пример:
{
"email": "avdeev@gmail.com",
"password": "password"
}
- post '/register'
{
email : string,
login : : string,
password : string
}
Валидный пример:
{
"email": "avdeev@gmail.com",
"login": "nikita",
"password": "password"
}
нюанс при возникновении ошибки они посылают 401(не точно) ответ и в боди лижет текст с ошибкой
- /logout - деавторизация, просто пошли
далее все идет в под адресе /api
- get '/post/:id/' Отправлять ничего не нада
Страница в виде джсон:
{
id : int,
header : string,
disclaimer : string,
content : string,
likes : int,
dislikes : int,
authorId : int
}
- delete '/post/:id'
необходимо быть авторизованным
на вход
{
ничего
}
- get '/top'
на вход (естественно надо учитывать что в боди это не кинуть)
{
begin : int [0, ...),
count : int (0, ...),
type : вариация типов представлена ниже,
minDate : дата в виде строки (хз что тут можно кидать,
я не уверен, можно нул кинуть тогда она будет выставленная как 1999 год)
[author]: int
}
вариации типов:
- 'rating' - наибольшему рейтингу
- 'date' - наисвежайшие новости
- 'interested' - наиболее интересные
- 'author' - выдает по автору
- post '/article'
создается новая статейка
необходимо быть авторизованным
на вход
{
header,
disclaimer,
art - тело статьи
}
На выход: тоже что и не распарсеной страницы
- put '/post/:id'
необходимо быть авторизованным
на вход
{
header : string (max length 255),
disclaimer : string (max length 2k),
art : string (max length 65k)
}
- get /post/:id/comments
получишь все комментарии страницы
- post /post/:id/comments
создашь комментарий
{
comment: string (max length 65(???)k)
answeringId: int||null (null если комментарий оригинальный, если нет то это ответ на другой коммент у которого есть id)
}
- delete /post/:id/comments
удалишь
на вход айдишник коммента
- put /post/:id/comments
тоже что при создании