Этап 2 — Понимание RESTful-маршрутизации React

Когда я начал создавать свое первое приложение с использованием React, я еще не понимал важности RESTful-маршрутизации. Мое приложение, Stream-Mii, представляло собой простую веб-форму, которая позволяла пользователям искать свои любимые сериалы с помощью публичного API и назначать серии на день недели. Затем пользователи могли вернуться назад и посмотреть, какие сериалы они планировали посмотреть в тот конкретный день.

Упрощение маршрутов

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

Что такое RESTful Routing?

REST расшифровывается как Representational State Transfer. Формальное определение REST — это «термин обмена данными в четко определенных форматах с целью повышения функциональной совместимости».

Это означает, что в разных языках существует определенная структура для работы с различными методами HTTP.

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

Почему REST так ценится разработчиками?

Стандартизация. До появления REST разработчики создавали уникальные имена для каждого маршрута. Это означает, что каждое приложение имело бы уникальную структуру маршрутов. При том количестве приложений, которое существует сегодня, можно только представить, насколько нерациональным был такой подход. Однако REST действительно демонстрирует, насколько связаны между собой наши приложения.

Когда вы думаете обо всем, что мы делаем в Интернете, трудно поверить, что все эти вещи можно свести к 7 основным действиям. Это помогло мне структурировать мои маршруты для Stream-Mii:

- GET: (/shows - returns a collection of saved shows)
- NEW: (/shows/new - returns a form to add a new show)
- POST: (/shows/new - saves a new show to the database)
Войти в полноэкранный режим Выход из полноэкранного режима

С такой структурой, если бы я захотел в будущем дополнить свое приложение, я мог бы использовать:

- SHOW: (/shows/:id - returns an existing show with the show details)
- EDIT: (/shows/:id/edit - returns a form to edit an existing show)
- PATCH: (/shows/:id - updates an existing show in the database)
- DELETE: (/shows/:id - deletes an existing show)
Войти в полноэкранный режим Выйти из полноэкранного режима

Оцените статью
devanswers.ru
Добавить комментарий