javascript get rbx api co api php id 1017883

Первое рабочее место или как начать разработку API на Node.js

Введение

В данной статье хотел бы поделиться своими эмоциями и приобретенными навыками в разработке первого REST API на Node.js с использованием TypeScript, как говорится, с нуля. История достаточно банальная: «Закончил университет, получил диплом. Куда же пойти работать?» Как можно было догадаться меня проблема не обошла стороной, пусть думать особо и не пришлось. Позвал к себе на стажировку разработчик (выпускник той же специальности). Полагаю, что это достаточно распространенная практика и существует множество подобных историй. Я, недолго думая, решил попробовать свои силы и пошел…

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

День первый. Знакомство с Node.js

Пришёл я на back-end разработку. В данной IT-компании используют платформу Node.js, с которой я абсолютно не был знаком. Я немного убежал вперед, забыв рассказать читателю, что никогда и ничего не разрабатывал на JavaScript (за исключением пары скриптов с копированным кодом). Алгоритм работы и архитектуру веб-приложений в целом я понимал, так как разрабатывал CRUD на Java, Python и Clojure, но этого было недостаточно. Поэтому первый день я полностью посвятил изучению Node.js, очень помог этот скринкаст.

Параллельно изучая веб-фреймворк Express, менеджер пакетов npm, а также такие файлы как package.json и tsconfig.json, голова просто шла кругом от количества информации. Очередной урок, что усвоение всего материала одновременно задача близкая к невозможной. К концу дня я все же справился с настройкой окружения и смог запустить express веб-сервер! Но радоваться было рано, потому что уходил домой с полным ощущением непонимания. Чувство, что я утопал в огромном мире JS не покидало меня ни на минуту, поэтому необходима была перезагрузка.

День второй. Знакомство с TypeScript

Та самая перезагрузка последовала именно в этот день. К этому моменту я полностью узнал свою задачу, к ней мы перейдем чуть ниже. Зная, что предстоит писать не на чистом JavaScipt, обучение от Node.js плавно перетекло к языку TypeScript, а именно, его особенностям и синтаксису. Здесь я увидел долгожданные типы, без которых не представлял программирование буквально 2 дня тому назад не в функциональных языках программирования. Это и было моим самым большим заблуждением, которое мешало мне понять и усвоить код, написанный на JavaScript в первый день.

Ранее писал по большей части на объектно-ориентированных языках программирования, таких как Java, C++, C#. Осознав возможности TypeScript, я почувствовал себя в своей тарелке. Этот язык программирования буквально вдохнул в меня жизнь этой сложной среды, как мне казалось на тот период. Под занавес дня я полностью настроил окружение, запустил сервер (уже на TypeScript), подключил необходимые библиотеки, о которых ниже расскажу. Итог: готов к разработке API. Переходим непосредственно к разработке…

Разработка API

Объяснение принципа работы и прочие разъяснение о том, что же такое REST API мы оставим, так как на форуме очень много статей об этом с примерами и разработкой на различных языках программирования.
javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Задача стояла следующая:

Сделать сервис с REST API. Авторизация по bearer токену (/info, /latency, /logout). Настроенный CORS для доступа с любого домена. DB — MongoDB. Токен создавать при каждом заходе.

Средства реализации

Итак, я упоминал, что уже изучил во второй день несколько библиотек (фреймворков), с этого и начнем. Для роутинга я выбрал routing-controllers, руководствовался большим сходством с декораторами из Spring Framework (Java). В качестве ORM я выбрал typeorm, хоть и работа с MongoDB в экспериментальном режиме, но для такой задачи вполне достаточно. Для генерации токенов использовал uuid, переменные загружаются с помощью dotenv.

Начальный запуск веб-сервера

Обычно, используется express в чистом виде, но я упоминал выше фреймворк Routing Controllers, который позволяет нам создать express сервер следующим образом:

Подключение к БД

Ранее, мы уже запустили веб-сервер, поэтому продолжим подключением к базе данных MongoDB, предварительно развернув на локальном сервере. Установка и настройка подробно описаны в официальной документации. Мы же непосредственно рассмотрим подключение с помощью typeorm:

Все достаточно просто, необходимо указать несколько параметров:

Теперь соединяем запуск сервера и подключение к БД. Отмечу, что импорт ресурсов отличается от классического, используемого в Node.js. В итоге получаем следующий запускаемый файл, в моем случае main.ts:

Сущности

Напомню, что задача состоит в аутентификации и авторизации пользователей, соответственно нам необходима сущность: Пользователь (User). Но это еще не все, так как каждый пользователь имеет токен и не один! Поэтому необходимо создать сущность Токен (Token).

В таблице User мы создаем поле — массив тех самых токенов для пользователя. Также мы подключаем calss-validator, так как необходимо, чтобы пользователь осуществлял вход через email.

База выглядит следующим образом:

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Авторизация пользователя

Для авторизации мы используем authorizationChecker(один из параметров при создании сервера см. выше), для удобства вынесем в отдельный файл:

После аутентификации у каждого пользователя появляется свой токен, поэтому мы можем из заголовков (headers) ответа вытащить необходимый токен, выглядит он примерно так: Bearer 046a5f60-c55e-11e9-af71-c75526de439e. Теперь мы можем проверить, существует ли данный токен, после чего функция возвращает информацию об авторизации: true — пользователь авторизован, false — пользователь не авторизован. В приложении мы можем использовать очень удобный декоратор в контроллере: @Authorized(). В этот момент и будет вызвана функция authorizationChecker, которая вернет ответ.

Логика

Для начала я хотел бы описать бизнес логику, так как контроллер — это одна строчка вызова методов ниже представленного класса. Также, в контроллере мы будем принимать все данные, в нашем случае это будет JSON и Query. Рассмотрим по отдельным задачам методы, а в конце сформируем итоговый файл, который назван UserService.ts. Отмечу, что на тот момент знаний для устранения зависимостей попросту не хватало. Если вы не встречались с термином инъекция зависимостей, очень советую прочитать об этом. На данный момент пользуюсь DI-фреймворком, т. е. использую контейнеры, а именно инъекцию через конструкторы. Вот, я считаю, хорошая статья для ознакомления. Возвращаемся к задаче.

Контроллер

Многим не нужно объяснять для чего нужен и как используется контроллер в паттерне MVC, но два слова я все же скажу. В кратце, контроллер является связующим звеном между пользователем и приложением, который переправляет данные между ними. Выше полностью была описана логика, методы которой вызываются в соответствии с роутами, состоящий из URI и ip сервера (пример: localhost:3000/signin). О декораторах в контроллере я уже упоминал ранее: Get, POST, @Authorized и самый важный из них это @JsonController. Еще одна очень важная фишка данного фреймворка состоит в том, что если мы хотим отправлять и получать JSON, то используем именно данный декоратор вместо Controller.

Заключение

В данной статье я хотел отразить больше не техническую составляющую правильного кода или чего-то такого, а просто поделиться тем, что человек может с абсолютного нуля за пять дней собрать веб-приложение, использующее базу данных и содержащее хоть какую-то, но логику. Только вдумайтесь ни один инструмент не был знаком, вспомните себя или просто поставьте на мое место. Ни в коем случае это не случай, который говорит: «я самый лучший, вы так никогда не сможете». Наоборот, это крик души человека, который в данный момент находится в полном восторге от мира Node.js и делится с Вами этим. А также тем, что ничего нет невозможного, нужно просто брать и делать!

Конечно, нельзя отрицать, что автор ничего не знал и первый раз сел писать код. Нет, знания ООП, принципы работы REST API, ORM, база данных присутствовали в достаточном объеме. И это может говорить только о том, что средство достижения результата абсолютно не играет никакой роли и высказывания в стиле: «Не пойду на эту работу, там язык программирования, который я не учил», для меня теперь просто проявление человеком не слабости, а скорее защиты от незнакомой внешней среды. Да что там скрывать, страх присутствовал и у меня.

Подведем итоги. Хочу посоветовать студентам и людям, которые еще не начали свою карьеру в IT, не бояться средств разработки и неизвестных технологий. Вам обязательно помогут старшие товарищи (если повезет также как и мне), подробно разъяснят и ответят на вопросы, потому что каждый из них оказывался в таком положении. Но не забывайте, что Ваше желание — это самый важный аспект!

Источник

Запросы к Rest API из JavaScript компактно и красиво

Делал я тут небольшой проект на чистом JS и в ходе оного потребовалось работать с Rest API. Ну не ручками ведь XMLHttpRequest дёргать, решил я, наверняка есть бесчисленное количество готовых решений для такой простой задачи.

Как можно догадаться по КДПВ, я несколько ошибался; впрочем, обо всём по порядку. Но если вкратце — получился вот такой симпатичный велосипедик, с которым запросы к Rest API получаются, как и обещано в заголовке, компактными и красивыми.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Кандидаты

Итак, мне был нужен джаваскриптовский клиент для Rest API. Гугл выдал чуток библиотек — restful.js, rest, amygdala. На самом деле, была ещё вот такая библиотечка, но это плагин к jQuery. jQuery в проекте не используется и тащить его как-то не хотелось; но, отчасти, предлагаемый библиотекой синтаксис мне понравился и это ещё всплывёт впоследствии.

Amygdala отпала сразу — нет Promise, а значит нет и async/await. Ещё и границы функциональности у неё странные, amygdala скорее претендует на что-то вроде недо-data-layer; про отсутствие сбилженной версии и лишние зависимости я тактично умолчу.
Осталось два кандидата — restful.js и rest.

rest предлагает некое минимальное ядро и даёт широкие возможности по его кастомизации с помощью так называемых «перехватчиков» — interceptors в оригинале. Не знаю насколько это круто — перспектива строить полные урлы и указывать метод руками при каждом запросе меня вовсе не прельщала, перехватчиков для модификации этого поведения не наблюдалось, да и документация восторга не вызывала. Я перешёл к последнему варианту — restful.js.

A pure JS client for interacting with server-side RESTful resources. Think Restangular without Angular.

Вообще-то я предпочитаю Ember, но какая разница? Главное-то что б использовать удобно было!

Это пример из документации. Выглядит неплохо в сравнении с конкурентами, да и документация достаточно внятная… Вариантов-то всё равно больше не наблюдается. Берём? Берём.

Небольшое лирическое отступление

Есть такая концепция «разумного умолчания», которая предполагает, если пересказывать своими словами, что решение некоей проблемы заточено, условно, под 90% юзкейсов, а в остальных 10% нужно явно сказать что имеются особенные обстоятельства.

Тривиальный пример этой концепции — параметры по умолчанию в большинстве языков программирования.

Куда менее тривиальный пример (являющийся, тем не менее, просто обобщением предыдущего) — оптимизация любого интерфейса исходя из ожидаемого поведения пользователя, будь то интерфейс командный, графический, программный или вообще физический: рубильники там, кнопочки и прочие хардварные крутилки-вертелки.

Общая стратегия этих оптимизаций одинакова — 90% пользователей для достижения своих целей должны производить так мало действий, как это вообще возможно. Не будет большим преувеличением сказать что это общая формула прогресса — изобретение всё более и более простых, с точки зрения количества необходимых телодвижений, интерфейсов для решения всё тех же задач.
И, в общем-то, эти самые разумные умолчания — один из главных способов упрощения.

Зачем я играю в Капитана Очевидность, растекаясь мысью по древу? Потому что очередной велосипед — это просто очередной велосипед, а вот велосипед с подведённой под него философской базой уже не просто очередной велосипед, а даже может издали и на мотоцикл смахивать!
Конец небольшого лирического отступления.

restful.js

Итак, restful.js. Использовал я его крайне недолго — и пары дней не прошло, как я понял что:

Каждый раз явно вызывать all() — не круто.

Ресурсы API — это то, что лежит в основе всего фронтенда, так какого ж они каждый раз создаются вручную? Это как раз те вещи, которые должны быть вшиты в ткань проекта. api.games.get(); api.games.post() — выглядит куда лучше (да, это как раз всплыло влияние синтаксиса той библиотечки на jQuery). Впрочем, это ещё можно было обойти, мы же динамические бояре: api.games = api.all(‘games’);

Ручное разворачивание ответа и entity — вообще не круто!

Глаза б мои не видели, пальцы б не писали; но приходилось. Тут бы вот те перехватчики из rest пригодились бы, там функциональность разворачивания сырого ответа в объект как раз реализована. В restful.js тоже есть перехватчики, но тут они поскромнее, не то.

В общем, классический пример неудобного интерфейса. Я не знаю, влияние ли это ангуляра, который вроде славится своей академичностью, или ориентация скорее на бытиё фреймворком, нежели библиотекой, но предлагаемый restful.js интерфейс мне сильно не понравился. На самом деле, по итогу он понравился мне, наверно, даже меньше чем интерфейс конкурентов — видимо, эффект зловещей долины сказывается: близко к идеалу, но не дотянуло, а от любви до ненависти всего один велосипед.

Что же я сделал?

Выкинул restful.js и накидал два класса, которые за 150 строк кода делали в принципе то же, что и restful.js за 6000 (шесть тысяч, это не опечатка).
Потом подумал, выложил на github, порефакторил, освоил webpack (замечательная штука!), mocha+chai, sinon и travis, выложил на npm и bower, написал документацию, запилил пример и в итоге написал эту статью, чтобы облегчить жизнь тем, кто столкнётся с такой же проблемой.

На данный момент (июнь 2016) там маловато тестов, нет методов HEAD и OPTIONS, сложно получить сырой ответ и слишком мало бейджей в README (всего один, что за позор. ).
Впрочем, это всё легко исправить. Главное что another-rest-client предоставляет понятный и простой интерфейс, с которым мне нравится работать; надеюсь что и не только мне.

Источник

Как сделать красивую документацию для Web API, за которую будет не стыдно

Я хотел бы рассказать вам об утилите, с которой вы сможете забыть о боли создания документации для Web API. О том как это сделать прошу всех под кат.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Итак, добро пожаловать под кат, ! Ты возможно спросишь с помощью чего так красиво получается? Ответ: apiDoc. Что еще за apiDoc? apiDoc — это утилита для генерации документации основываясь на комментариях в коде. Но с одной оговоркой, эти комментарии должны быть определенного вида. Можно создавать документацию для проектов на: C#, Dart, Erlang, Go, Java, Javascript, PHP, Python, Ruby, Perl и прочих. Но в этой статье я расскажу как сделать такую красивую документацию на основе проекта на Python.

Для этого вам понадобится:

Установка Node.js

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Установка apiDoc

Надеюсь все справились с установкой Node.JS и мы можем перейти далее. Для установки apiDoc откройте терминал (командную строку в Windows) и запустите команду:

И на выходе вы должны получить что-то вроде этого.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Подготовка к созданию документации

Ну вот мы и добрались до создания документации. Для того чтобы сгенерировать документацию необходимо сделать комментарии в коде. Вот пример комментария в коде.

Что есть что? Приведу описание некоторых основных «тегов» для генерирования документации. Все теги можно посмотреть здесь.

Обязательный тег для генерации документации.

method — типа запроса (GET,POST,PUT и т.д.)
path — путь до метода например /2/get_news
title — название метода которое будет отображаться в документации

Пример использования:

@apiName

Тег определяющий название блока документации. Рекомендуется всегда использовать.

name — название метода

Пример использования:

@apiGroup

Тег связывающий блоки документации в одну группу на сайте документации.

name — название группы

Пример использования:

@apiVersion

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

version — версия метода согласно семантическому версионированию подробнее по ссылке здесь.

Пример использования:

@apiSuccess

Тег используется для описания параметра передаваемого в метод

type — тип объекта(, , , , и прочие)
field — название объекта который будет получен после запроса
description — описание этого объекта

Пример использования:

Изготовление документации

Итак, после краткого введения в теги apiDoc можно попробовать создать документацию, для этого нужно подготовить поле действий. Для этого положите в корень файл конфигурации apidoc.json.

Далее для генерации следует запустить команду:

На выходе вы получите это:

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Документацию можно забрать в папке doc которая лежит в корне вашего проекта. Чтобы посмотреть результат откройте index.html.

Итоги

У нас получилось сделать практичную и красивую документацию. Вот как она выглядит:

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Посмотреть как она выглядит полностью и понажимать на кнопочки можно здесь.

Источник

Javascript get rbx api co api php id 1017883

Чтобы обратиться к методу API ВКонтакте, Вам необходимо выполнить POST или GET запрос такого вида:

Например, вызовем метод users.get для пользователя с идентификатором 210700286:

К методам API ВКонтакте (за исключением методов из секций secure и ads) с ключом доступа пользователя можно обращаться не чаще 3 раз в секунду. Для ключа доступа сообщества ограничение составляет 20 запросов в секунду. Если логика Вашего приложения подразумевает вызов нескольких методов подряд, имеет смысл обратить внимание на метод execute. Он позволяет совершить до 25 обращений к разным методам в рамках одного запроса.

Для методов секции ads действуют собственные ограничения, ознакомиться с ними Вы можете на этой странице.

Максимальное число обращений к методам секции secure зависит от числа пользователей, установивших приложение. Если приложение установило меньше 10 000 человек, то можно совершать 5 запросов в секунду, до 100 000 — 8 запросов, до 1 000 000 — 20 запросов, больше 1 млн. — 35 запросов в секунду.

Если Вы превысите частотное ограничение, сервер вернет ошибку с кодом 6: «Too many requests per second.».

Помимо ограничений на частоту обращений, существуют и количественные ограничения на вызов однотипных методов. По понятным причинам, мы не предоставляем информацию о точных лимитах.

После превышения количественного лимита доступ к конкретному методу может требовать ввода капчи (см. captcha_error), а также может быть временно ограничен (в таком случае сервер не возвращает ответ на вызов конкретного метода, но без проблем обрабатывает любые другие запросы).

Запросы к API ВКонтакте могут быть выполнены из браузера со страниц сторонних сайтов или IFrame приложений.
Чтобы осуществлять кроссдоменные запросы к API, Вы можете использовать протокол JSONP. Для этого необходимо подключать к документу скрипт с адресом запроса в src. Запрос должен содержать дополнительный параметр callback c именем функции, которая будет вызвана при получении результата.

Источник

How To Use an API with JavaScript (The Complete Beginner’s Guide)

Last Updated on April 16, 2021 by RapidAPI Staff 13 Comments

The modern web development world is impossible to imagine without JavaScript. Over the years of its growth, this language has gone from a small add-on to a multifunctional and powerful tool. Today JavaScript successfully helps developers with both frontend and backend work.

Often the application functionality is mainly related to interaction with various APIs. If you are faced with the task of accessing the API in your JavaScript application and don’t know where to start, this tutorial will help you figure it out quickly.

What is REST API (from a JavaScript perspective)?

To begin, let us define what is hidden under the API abbreviation. API (Application Programming Interface) can be considered as a set of rules that are shared by a particular service. These rules determine in which format and with which command set your application can access the service, as well as what data this service can return in a response. API acts as a layer between your application and external service.

REST API (Representational state transfer) is an API that uses HTTP requests for communication with web services and must comply with certain constraints. Full constraints list can be viewed at the link. Here are some of them:

From the JavaScript side, the REST API integration can be viewed as a connection to a data source located at a specific address on the Internet, which can be accessed in a certain way through certain libraries.

Prerequisites

We will try to keep things simple, so to work with queries we will use the axios library because of its simplicity and universality. Also, in order to understand what the article is about, you will need some basic knowledge of HTML and CSS and JavaScript syntax and datatypes.

CRUD and types of requests

CRUD is a programming concept denoting four basic actions (create, read, update, and delete) that can be performed on a data source. In a REST API, these actions correspond to Types of Requests or Request Methods:

Endpoints and CRUD

In order to work with REST APIs, it is important to understand the Endpoint concept. Usually, Endpoint is a specific address (for example, https://hotels-to-stay.com/best-hotels-paris), by referring to which (with certain request method) you get access to certain features/data (in our case – the list of best hotels in Paris). Commonly, the name (address) of the endpoint corresponds to the functionality it provides.

To learn more about endpoints and CRUD, we will look at simple API examples within the RapidAPI service. This service is an API Hub providing the ability to access thousands of different APIs. Another advantage of RapidAPI is that you can access endpoints and test the work of the API directly in its section within the RapidAPI service.

We will go through the JAAS – JSON as a service. This API is used to generate and modify JSON objects, that is useful in coding practice.

In order to find JAAS API section, enter its name in the search box in the RapidAPI service or go to the “Data” category from “All Categories” list and select this API from the list. JAAS API through RapidAPI is free, so you can create as many JSON objects as you want.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Once you select JAAS API, the first page you’ll see is the API Endpoints subsection. This includes most of the information needed to get started. The API Endpoints subsection includes navigation, a list of endpoints, the documentation of the currently selected endpoint, and a code snippet (available in 8 different programming languages) to help you get started with your code.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

We will go through all CRUD actions: create, read, update, delete. For each of these actions, JAAS API provides a corresponding endpoint.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Browse APIs In order to demonstrate the entire CRUD functionality in JavaScript, we will complete the following steps:

1. So, let’s begin. Firstly we need to connect the axios library to our html file for easy work with queries.

Create a constant with an API address within the RapidAPI service.

Next, we create an object/dictionary with constant headers for RapidAPI, which are required during accessing. Since these headers will be in each request, they also need to be put into a separate variable.

We create an object on which we will work (send in requests, modify) and a variable to store id.

Now we will start the direct implementation of the first step from the list. We will make a POST request to the specified address with the object and headers. That is, here we create a student object on the server.

In the first parameter, we send the URL to the function. The second parameter is the data. The third parameter is the object with the headers for the request. Then we either get a successful response and output it to the browser console, or the request ends with an error and we also display it in the console.
The response object contains many fields, but we are interested in the data field.
As a result, in the console we get the following JSON output:

Now we have the variable STUDENT_ID containing the following line:

2. Let’s test a GET request.

The first parameter is the union of the API URL and the id of the object that we want to receive. The second parameter is the necessary headers. Everything else as in the previous example.

As a result, we will see the following in the console:

Everything works as expected. Let’s proceed.

3. Now we are testing a PUT request, that is, trying to modify an object created earlier on the server.

Imagine a situation where someone entered incorrect data, and our student John is not 18, but 20 years old. We will also need to keep his average score. To do this, we modify our object as follows:

Now John is 20, his average score is 4.0, and the student object now looks like this:

We need to inform the server about this information and for this task we use the following code snippet:

That is, we execute a PUT request, where the first parameter is the URL pointer to the desired object, the second parameter is the already updated student, and the third is the necessary headers.

As a result, after executing the code, we have the following response from the server:

_id is correct, data is updated.

4. Now we are testing the DELETE method, that is, deleting an object. In order to delete an object, simply execute the following code:

Parameters are specified as in the previous examples. The result is as follows:

We got a message saying that our object is deleted.

5. Great, but let’s see what happens if we try to retrieve the deleted object using the GET request:

We received the answer that this object no longer exists. Everything works as we expected.

How To Connect to an API (with JavaScript)

Now we know the basic elements of working with API in JavaScript, and we can create a step-by-step guide to creating a JavaScript app with API integration:

1. Get an API key

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883
An API key is usually a unique string of letters and numbers. In order to start working with most APIs, you must identify yourself (register) and get an API key. You will need to add an API key to each request so that the API can recognize you. On the example of RapidAPI – you can choose the method of registration that will be convenient for you. This can be a username, email, and password; Google, Facebook or Github account.

2. Test API Endpoints with JavaScript

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883
After we receive the API key, we can make a request to API endpoints (according to the rules in the documentation) to check if everything works as we expected. In the case of working with RapidAPI, immediately after registering with the service, we can go to the section of the API of our interest, subscribe to it and test endpoints directly on the API page. Next, we can quickly create a JavaScript snippet using the axios library with requests to the desired endpoint and test its work in the browser console.

3. Make your first JavaScript app with API

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883
After we check the endpoints, we can start creating an application, including the necessary API calls.

Example: How to Build a ‘Comment Sentiment Analyzer’ App (with APIs & JavaScript)

Now, let’s apply what we learned above and create a small service for analyzing the sentiment of user comments.

Let’s imagine that we have created such a bright product that causes such a strong reaction from users that they cannot hold back emotions when they write comments. To help our users determine the nature of their feelings about the product, we will expand the usual commenting form and add functionality to analyze the sentiments of their comments.

In this task, we will be helped by Text-Processing API, which is available through the RapidAPI service. This API works under freemium conditions, allowing a limited number of texts per day to be processed for free. Since we are going to process just a few comments for test purposes, that’s enough for us.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

To send requests, we will continue to use the axios library. You will also need the qs library to encode requests.

1. Get an API key

After registering with RapidAPI service, we will receive a service key, and this will be enough for us to start work with the Text-Processing API. You can register by clicking on the ’Sign Up’ button on RapidAPI menu.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

As mentioned earlier, you can register in any convenient way:

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

2. Test the API Endpoints

To analyze the sentiment of user comments, we need the sentiment endpoint. We will test it directly in the browser by sending a negative test comment.

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

As we can see, API returns JSON with a negative assessment, so apparently, everything works as it should.

3. Make your first app with API

Now we will create our small application for analyzing the sentiment of comments.

The project structure consists of three files: index.html, style.css, text-processing.js

Firstly, we need the index.html in which everything will be displayed:

Let’s break it down:

First, we need to connect our styles in the project:

Then, we’ll connect to the axios library for requests:

And also the qs library to transform data before sending:

And then our own JS script to tie it together:

and here it is all together (index.html):

Next, let’s create some simple styling for the style.css file:

And finally, let’s create our JavaScript file (text-processing.js):

To begin with, let’s write constants such as the request URL and request headers (as we did before):

Now we create a request based on the text entered by the user:

Here comment is the text that the user entered, and callback is a function that will do something with the response from the server in the future.

In the beginning, we created the data object based on the API documentation. Then we translated this object into a special format application/x-www-form-urlencoded using the Qs library.

As a result, we will need to make a request like in the previous examples:

Now we need a function that we can pass as a callback to the previous one, that is, a function that does something with the result, namely, it displays it to the user.

Perhaps we also need a function that will do something if the user has not entered anything and pressed the button. Here we make the result block invisible by applying the class invisible to it and display the message.

We also need to create a handler function that will work when a button is pressed and combine everything we wrote before:

Finally, we get the following file:

Our click handler (onAnalyzeButtonClick) is added to the button.

The app is ready! We have implemented Anger Management with Javascript, and now every user will be able to understand what emotions their comments express:

javascript get rbx api co api php id 1017883. Смотреть фото javascript get rbx api co api php id 1017883. Смотреть картинку javascript get rbx api co api php id 1017883. Картинка про javascript get rbx api co api php id 1017883. Фото javascript get rbx api co api php id 1017883

Conclusion

In this article, we explored the possibilities of JavaScript when working with the REST API, studied the concept of CRUD and its implementation using JavaScript, and also created our own application that has the capabilities of AI text sentiment analysis.

Related Links

Related JS Tutorials

From the JavaScript side, the REST API integration can be viewed as a connection to a data source located at a specific address on the Internet, which can be accessed in a certain way through certain libraries.

Here are some of the most popular APIs on RapidAPI:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *