-
-
Notifications
You must be signed in to change notification settings - Fork 11
Random Cofee API
- по этой ссылке можно скачать программу Postman для теста запросов к api
- а по этой ссылке находится самая свежая документация по api, которую можно подтянуть в Postman и протестировать
- При успешном выполнении запроса возвращается status = 200, statusText = "OK"
- Любой поиск по идентификатору (кроме заданных самостоятельно) необходимо осуществлять по полю _id, который автоматически присвоен mongodb
axios({
// Указываем метод и url согласно документации
method: 'get',
url: 'https://forge-development.herokuapp.com/api/users/',
headers: {
// Здесь передаётся токен, полученный пользователем при аутентификации на сайте
// Без указания данного заголовка с действующих токеном, доступ к api будет заблокирован
Authorization: `Bearer ${token}`
},
// Можно задать параметры поиска
params: {
// Например, найти всех пользователей по определнному отделу
department: '5cd6f6c381371d297acb2fd0'
// Также можно запросить только определенные поля из выборки
// Поля разделяются запятыми _без_ пробелов
getFields: 'firstName,lastName,username'
}
})
.then(data => {
// Получаемые данные
// Если наш запрос отработал без ошибки, но ничего не нашёл, то здесь вернётся пустой массив
console.log(data);
})
.catch(err => {
// Если что-то пошло не так, получим объект ошибки
console.error(err);
});-
Отправляем GET запрос на /api/users/
Ответ: массив пользователей
axios({ method: 'get', url: 'https://forge-development.herokuapp.com/api/users/', headers: { Authorization: `Bearer ${token}` } }) .then(users => { console.log(users); }) .catch(err => { console.error(err); });
-
Отправляем GET запрос на /api/users/{{filter_query}}
Ответ: массив пользователей, совпадающих заданным условиям
Пример: запрашиваем всех пользователей по определенному отделу
axios({ method: 'get', url: 'https://forge-development.herokuapp.com/api/users/?department=5cd6f6c381371d297acb2fd3', headers: { Authorization: `Bearer ${token}` } }) .then(users => { console.log(users); }) .catch(err => { console.error(err); });
-
Отправляем GET запрос на /api/users/{{get_fields}}
Ответ: массив объектов, состоящих из заданных свойств пользователей
axios({ method: 'get', url: 'https://forge-development.herokuapp.com/api/users/', headers: { Authorization: `Bearer ${token}` }, params: { getFields: 'firstName,lastName,username' } }) .then(users => { console.log(users); }) .catch(err => { console.error(err); });
-
Отправляем GET запрос на /api/users/
Ответ: массив пользователей
axios({ method: 'get', url: 'https://forge-development.herokuapp.com/api/users/', headers: { Authorization: `Bearer ${token}` } }) .then(res => { console.log(res); }) .catch(err => { console.error(err); });
-
Отправляем GET запрос на /api/users/{id}
где {id} – _id идентификатор пользователяОтвет: объект пользователя
Подробнее о возможностях запроса написано документацииe
axios({ method: 'get', url: 'https://forge-development.herokuapp.com/api/users/5cdd48ea200cc7007d863294', headers: { Authorization: `Bearer ${token}` } }) .then(res => { console.log(res); }) .catch(err => { console.error(err); });
-
Отправляем PUT запрос на /api/users/{{user_id}}
Ответ: обновленный объект пользователя
axios({ method: "put", url: "https://forge-development.herokuapp.com/api/users/", headers: { Authorization: `Bearer ${token}` }, data: { "ban": { "status": true, "expired": 1558082186482 } } }) .then(user => { console.log(user); }) .catch(err => { console.error(err); });
-
Отправляем PUT запрос на /api/users/{{user_id}}
Ответ: обновленный объект пользователя
axios({ method: "put", url: "https://forge-development.herokuapp.com/api/users/", headers: { Authorization: `Bearer ${token}` }, data: { "newDepartment": "5cd6f6c381371d297acb2fd0" } }) .then(user => { console.log(user); }) .catch(err => { console.error(err); });
-
Отправляем GET запрос на /api/events/
axios({ method: 'get', url: 'https://forge-development.herokuapp.com/api/events/', headers: { Authorization: `Bearer ${token}` } }) .then(res => { console.log(res); }) .catch(err => { console.error(err); });
-
отправляем GET запрос на /api/departments/
axios({ method: 'get', url: 'https://forge-development.herokuapp.com/api/departments/', headers: { Authorization: `Bearer ${token}` } }) .then(res => { console.log(res); }) .catch(err => { console.error(err); });
При входе админа в аккаунт отправляем логин и пароль, а также добавляем header к запросу:
POST /api/auth/admin
{
"Content-Type": "application/json"
},
{
"username":"sadtiger481",
"password":"tiger"
}При успешной аутентификации возвращается токен:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiNWNkMTc1YWM0NGMyOWY2YmM3ZGJjMGExIn0sImlhdCI6MTU1NzI3NzUyMSwiZXhwIjoxNTU3MjgxMTIxfQ.g2LVARhT6k36XzUej0A6jNolneSjj3yq6lWW7IRNgzw"
}После получения токена добавляем его в header к запросу для получения информации админа:
GET /api/auth/admin
{
"Authorization": " Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiNWNkMTc1YWM0NGMyOWY2YmM3ZGJjMGExIn0sImlhdCI6MTU1NzI3NzUyMSwiZXhwIjoxNTU3MjgxMTIxfQ.g2LVARhT6k36XzUej0A6jNolneSjj3yq6lWW7IRNgzw"
}