Создание API (ов) может занять много времени. Но есть такие пакеты, как json-server, hai-server и т. Д., Которые помогают нам создать полностью поддельный REST API с нулевым кодированием менее чем за 30 секунд.
Эти инструменты действительно полезны для фронтенд-разработчиков, которым нужен быстрый бэкэнд для создания прототипов и имитаций. Здесь мы поговорим о хаи-серве.
Установите hai-server на свой локальный компьютер. Подробнее читайте здесь.
npm install -g hai-server
Создайте db.json
файл с некоторыми данными
{ "posts": [ { "id": 1, "title": "hai-server", "author": "sumn2u" } ], "comments": [ { "id": 1, "body": "some comment", "postId": 1 } ], "profile": { "name": "sumn2u" } }
Запустите hai-server
, выполнив следующую команду в терминале.
hai-server --watch db.json
Теперь, если вы перейдете по адресу http: // localhost: 3000 / posts / 1, вы получите
{ "id": 1, "title": "hai-server", "author": "sumn2u" }
Как ограничить доступ к API?
Создайте файл с именем auth.json
, аналогичным показанному ниже. Предоставьте свои собственные secretKey
, expiresIn
и коллекцию аутентифицированных пользователей. Здесь authenticatedURL
указывает на набор URL-адресов, требующих авторизации, а authenticationURL
- это URL-адрес для получения access_token
. Полученные таким образом access_token
можно использовать для доступа к авторизованным API.
{ "secretKey":"123456789", "expiresIn": "1h", "users": [ { "id": 1, "name": "bruno", "email": "[email protected]", "password": "bruno" }, { "id": 2, "name": "techie", "email": "[email protected]", "password": "techie" }, { "id": 3, "name": "nilson", "email": "[email protected]", "password": "nilson" } ], "authenticationURL":"/auth/login", "authenticatedURL":["/comments"] }
Примечание. Здесь мы ограничиваем
/comments
api.
Запустите hai-server
в своем терминале.
hai-server --watch db.json --auth auth.json --port 3000
Как войти?
Вы можете войти в систему, отправив запрос POST на адрес
POST http://localhost:3000/auth/login
со следующими данными.
Примечание. Мы можем выбрать любые пользовательские данные из списка пользователей файла
auth.json
.
{
"email": "[email protected]",
"password":"nilson"
}
Вы должны получить токен доступа следующего формата
{
"access_token": "<ACCESS_TOKEN>"
}
Вы должны отправить эту авторизацию с любым запросом на защищенные конечные точки.
Authorization: Bearer <ACCESS_TOKEN>
Вы можете вызвать ограниченный API из access_token
.
Вывод
Таким образом, мы можем создать полностью поддельный API с нулевой конфигурацией, а также реализовать авторизацию для ограничения доступа.