Введение в маршрутизацию RESTful.

Скорее всего, вы уже слышали об REST API еще до того, как наткнулись на эту статью. Но, может быть, вы никогда не понимали, что это значит, или почему оно используется так часто. Суть в том, что это всего лишь набор ограничений в дизайне API.

Но зачем это нужно? Разве конечная точка API не может иметь какой-либо шаблон, который разработчик хотел бы сохранить? В конце концов, API — это всего лишь интерфейс для передачи данных, он будет работать независимо от шаблона запросов к серверу, если он правильно соответствует дизайну API. Правильно?

Если бы у вас был этот диалог с самим собой, вы были бы правы. Но вам также придется иметь дело с проблемами безопасности сервера, проблемами переносимости, проблемами совместимости платформ и проблемами масштабируемости Между прочим! Так что разумнее выбрать дизайн RESTful для вашего API. Помимо всех этих преимуществ, API-интерфейсы REST могут обеспечить проверку работоспособности для большинства разработчиков, поскольку они упрощают совместную работу.

Я надеюсь, что мне удалось убедить вас в том, что маршрутизация RESTful необходима, теперь давайте посмотрим, о чем идет речь!

Давайте сначала поймем, почему это называется RESTful-маршрутизацией. Обратите внимание, что «RESTful-маршруты» и «конечные точки REST API» используются взаимозаменяемо при попытке описать концепцию. Здесь REST — это аббревиатура от Representational State Transfer. Прежде чем мы сможем понять, что это значит, важно, чтобы у вас было базовое представление о том, как взаимодействуют клиенты и серверы.

Суть клиент-серверной архитектуры заключается в том, что браузер (клиент) может отправлять несколько запросов на сервер. Здесь серверу не нужна информация о самом клиенте, поэтому он также называется транзакцией данных без сохранения состояния. Это означает, что сервер отправит ответ, соответствующий текущему состоянию клиента. Дизайн RESTful использует эту концепцию для упрощения дизайна API!

TL;DR — это называется дизайном RESTful, потому что клиент инициирует изменение своего состояния через запрос сервера, отправленный с использованием представления его текущего состояния.

Для дальнейшего упрощения маршруты RESTful представляют собой стандартный набор правил, которые используются для выполнения операций CRUD с использованием набора HTTP-глаголов для выполнения запросов к серверу.

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



Если предыдущий раздел показался немного запутанным, вполне нормально игнорировать ненужные детали и просто изучать только реализацию, если вы понимаете шаги, связанные с фактическим проектированием API.

В REST API есть всего семь конечных точек для выполнения любых операций CRUD. Все они используют глагол HTTP для выполнения запросов к серверу в зависимости от необходимой операции. Аббревиатура, которая поможет вам запомнить все эти маршруты в том порядке, в котором они должны быть объявлены, — INCSEUD (ink-say-ud).

Рассмотрим пример, в котором вы создаете CRUD-приложение, используя MongoDB для ведения учета всех ваших собак (почему бы и нет). Обратитесь к таблице, чтобы взглянуть на 7 маршрутов RESTful.

  • Индекс. Это конечная точка API, которая возвращает все документы, хранящиеся в определенной коллекции. Чтобы использовать эту конечную точку, вам нужно будет сделать запрос GET на сервер.
  • Новое: это конечная точка, которая используется для отображения формы, которая используется для заполнения данных согласно Схеме документа. Обратите внимание, что этот маршрут еще не добавляет новые документы в коллекцию.
  • Создать. Этот маршрут предназначен для добавления нового документа в коллекцию. Вам нужно будет сделать запрос POST для отправки данных в эту конечную точку API.
  • Показать: это конечная точка, которая возвращает конкретный документ в формате JSON.
  • Редактировать: будет отображена форма для обновления определенного документа. Вы можете использовать маршрут SHOW для получения данных определенного документа и использовать их для предварительного заполнения полей формы. Обратите внимание, что это еще не внесет никаких изменений в коллекцию.
  • Обновление: используется для обновления документа с определенным идентификатором путем отправки запроса PUT на сервер. Это не вернет обновленный документ, вместо этого обычно перенаправляют пользователя на страницу SHOW определенного документа.
  • Уничтожить: это удалит конкретный документ из коллекции, отправив запрос DELETE на сервер. После этого процесса обычно перенаправляют пользователя на страницу INDEX.

Если вы не знакомы с MongoDB или Mongoose ODM, вы можете ознакомиться со следующей статьей, в которой дается введение в тему.



Лучший способ понять важность этих RESTful-маршрутов — создать с их помощью приложение CRUD. Чтобы сделать это с помощью Express.js и MongoDB, вы можете ознакомиться со следующей статьей.



Если вы предпочитаете видеоруководство, чтобы лучше понять рабочий процесс, связанный с созданием REST API с использованием Express и Mongo, вы можете посмотреть это видео от Traversy Media.

Вот и все! Теперь вы знаете, что означает RESTful API и что такое 7 маршрутов RESTful. У вас также есть несколько ресурсов, чтобы пойти дальше и построить его самостоятельно. Это очень важная концепция в разработке полного стека, но все, что вам нужно создать, — это одно приложение CRUD, чтобы изучить его досконально!

Наконец, рассмотрите возможность прочесть следующую статью, чтобы ознакомиться с некоторыми рекомендациями по созданию собственного REST API.