Много раз мы просто хотим быстро разработать прототип пользовательского интерфейса без слишком большого количества зависимостей.
Но реальность такова, что для использования в реальном мире компонент нам часто нужно получить некоторые данные и иметь пользовательский интерфейс, а затем что-то отображать.
Тогда мы тоже:
- Напишите немного быстрого бэкэнд -кода (с такими бэкэнд -структурами, такими как Express, KOA, Happy и т. Д.), Чтобы иметь пару API, маршруты, чтобы вернуть некоторые фиктивные данные или данные из базы данных.
- Изучите и используйте некоторые фальшивые услуги API из Интернета.
Для варианта 1 – Напишите код бэкэнда. Мы должны потратить много времени, чтобы создать API -интерфейсы с:
- Фиктивные данные, поддержка страниц.
- Совершенные, правильные интерфейсы API.
- Обычно это приведет к отвлечению от первоначальной идеи, и у нас будет меньше времени для реализации пользовательского интерфейса (это может быть причиной того, что мы продолжаем отказываться от проектов домашних животных) время от времени)
Для варианта 2 – Используйте фальшивый сервис API из Интернета:
- Требует подключения к Интернету.
- Полагается на их стабильность, безопасность. (Это безопасно использовать? Это отслеживает ваши запросы?)
- Это может ввести нарушающие изменения, которые вы должны соответствующим образом настроить свой код.
- Добавление зависимости к вашему приложению – это будет еще несколько лет спустя?
Но есть лучший способ сделать это …
Что если у нас будет простой способ запустить наши фальшивые API на местном уровне с помощью фиктивных данных, готовых для использования пользовательским интерфейсом?
Давайте рассмотрим инструмент командной строки под названием API сейчас! (API-now) Анкет Просто набирая $ npx api-now В терминале он запустит сервер API для обслуживания данных JSON, JS -файла, GraphQL или Faker с поддержкой HTTPS!
Это экономит нам много времени, когда мы возились в бэкэнд -земле, чтобы мы могли сосредоточиться на нашем прекрасном прототипе пользовательского интерфейса, пока у нас не будет времени, чтобы инвестировать в настройку бэкэнд.
API-Now Есть много полезных функций, таких как:
- Наборы данных по умолчанию вне коробки: Todos, пользователи, сообщения, комментарии (с помощью Faker).
- Поддержка HTTPS (с ключами, файлы CERT).
- Может взять файл .json или .js.
- Конечная точка GraphQL для обслуживания данных Faker:/graphql
- Может служить статическому каталогу (например,/dist,/public и т. Д.) – Это может заменить http-server, или Simplehttpserver.
- API -поддержка страдания (_page, _limit).
- /echo маршрут, чтобы ответить параметры обратно как JSON.
- /маршрут файла для обслуживания любого типа файла (включая изображения).
- /rougin route (post), чтобы ответить фиктивным токеном JWT (с помощью JSonWebtoken).
- /todos маршрут, чтобы вернуть список элементов TODO (следуйте спецификациям TOMODVC).
- /image/random для обслуживания случайного файла изображения из каталога.
- /avatar/random, чтобы служить случайному аватарскому изображению.
- /природа/случайная, чтобы служить случайному образу природы.
Чтобы попробовать это, подготовьте свои Nodejs (кто нет?) И запустите эту командную строку $ npx api-now Анкет Вот и все! Вы можете попробовать это сейчас (из другого терминала):
$ curl http://localhost:3003/todos
$ curl http://localhost:3003/users?_page=1&_limit=5 (others: /posts /comments)
Other Useful Routes:
$ curl http://localhost:3003/echo?any=value
$ curl http://localhost:3003/file?path=YourFilePath
$ curl http://localhost:3003/image/random?path=YourDirPath
$ curl http://localhost:3003/avatar/random
$ curl http://localhost:3003/nature/random
$ curl -X POST http://localhost:3003/login -H 'Content-Type: application/json' -d '{"username": "test"}'
Open GraphQL Query Page:
open http://localhost:3003/graphql
$ curl 'http://localhost:3003/graphql' -H 'Content-Type: application/json' --data-binary '{"query":"{ todos { title } }"}'
Ниже приведен образец проекта, в котором используется API-Now для ui coalerplate: https://newssup.com (используется при разработке этого сайта) https://github.com/ngduc/parcelui
Теперь у вас есть больше времени, чтобы повеселиться с вашим потрясающим проектом пользовательского интерфейса!:)
Ссылка на сайт: https://github.com/ngduc/api-now
Оригинал: “https://dev.to/ngduc/running-a-mock-api-server-in-seconds-2j7”