Мы можем использовать пакет Twilio NuGet для написания приложений, работающих с Twilio SMS API, но что если мы захотим поэкспериментировать с API прямо в нашей IDE? Если этой IDE окажется JetBrains Rider, для этого есть простой способ.
Rider — это кроссплатформенная .NET IDE, созданная на базе технологий ReSharper и IntelliJ IDEA. Это дает нам лучшее из двух миров: превосходные функции .NET для инспекции кода, навигации и рефакторинга, а также фронтенд-функции от зрелой IDE с активной экосистемой. Другими словами: если мы хотим протестировать вызов Twilio SMS API из нашей IDE, мы можем использовать для этого встроенный REST-клиент.
После запуска Rider и создания или открытия решения откройте REST-клиент через меню Tools | Test RESTful Web Service (Инструменты | Тестирование RESTful веб-сервисов). Откроется новое окно инструментов, где мы можем создавать HTTP-запросы.
Это окно позволяет нам выбрать HTTP-метод, а также задать хост и путь для вызова. Мы также можем добавить данные заголовков, параметры строки запроса или тело запроса для отправки в API.
Давайте проверим, сможем ли мы отправить SMS-сообщение прямо из нашей IDE. Согласно документации API, нам нужно отправить POST-запрос на https://api.twilio.com/2010-04-01/Accounts/[AccountSid]/Messages и добавить параметры `From`, `To` и `Body`.
Мы могли бы попытаться вызвать этот запрос прямо сейчас, но не хватает одного ключевого компонента: аутентификации. Twilio требует использовать базовую аутентификацию с нашими AccountSid и AuthToken в качестве учетных данных. Мы можем найти их в консоли Twilio, а затем использовать кнопку генерации учетных данных на панели инструментов Rider, чтобы добавить необходимый заголовок:
После нажатия *OK* Rider добавляет заголовок Authorization, и теперь мы можем выполнить наш запрос. Если все прошло успешно, мы увидим результат нашего вызова API, а наш телефон уведомит нас о новом SMS-сообщении.
Мы получили ответ в формате XML, но добавление заголовка `Accept: application/json` позволит получить ответ в формате JSON. Кнопки на панели инструментов позволяют переформатировать ответ (что может быть полезно, если сервер удалил пробелы), открыть ответ в отдельном окне или экспортировать ответ в файл. Различные вкладки позволяют нам просматривать или добавлять файлы cookie, заголовки ответа и т. д.
Пока Rider работает, он отслеживает все ранее сделанные запросы. Мы можем легко повторно отправить предыдущие запросы; просто убедитесь, что не завалили себя или коллег тестовыми SMS-сообщениями!
Мы также можем экспортировать запросы с панели инструментов, включая заголовки и параметры запроса, в файл, который позже можно импортировать. Созданные файлы — это XML-файлы, которые мы можем редактировать вручную под наши нужды. Вот пример `send-sms.xml`, содержащий описанный выше запрос:
Функциональность экспорта/импорта позволяет нам создавать набор HTTP-запросов, которые можно использовать во время разработки, и делиться ими с членами команды для быстрого тестирования типичных запросов к Twilio API.
Весьма полезно иметь встроенный REST-клиент в такой IDE, как JetBrains Rider. Мы можем тестировать вызовы API к такому сервису, как Twilio, во время разработки приложения, использующего эти API.
Попробуйте сами! И если у вас есть какие-либо вопросы по Rider, свяжитесь со мной в Twitter.