<MyRusakov.ru />

Создание сайтов на Django

Создание сайтов на Django

Данный курс научит Вас создавать сайты на очень мощном фреймворке – Django. Курс состоит из 9 разделов, в которых Вы с нуля освоите данный фреймворк на примере создания полноценного Интернет-магазина.

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

Помимо самого курса Вас ждёт ещё и бесплатный ценный Бонус: «Unit-тестирование сайта на Django». В этом Бонусе Вы узнаете, как можно написать автоматические тесты для проекта на Django. Это позволит находить оперативно ошибки, а также даст возможность в будущем добавлять новый функционал, не боясь что-то сломать в старом.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Архитектурный дизайн RESTful приложений

Архитектурный дизайн RESTful приложений

При разработке REST API важнейшим требованием является обеспечение клиента информацией о той версии API, с которой он работает. Например, если прикладной интерфейс сайта доступен по адресу http://site.com/api, то данному URL надо добавить v1 (версия первая), т.е. адрес может принять следующий вид http://site.com/api/v1.

Так как сегодня серверная часть приложения, которая по-другому называется back end, разрабатывается те только для web-платформ, но и для мобильных приложений, то Вам необходимо обратить серьезное внимание на версионирование API. И вот почему. При изменениях API, т.е. добавлении какого-либо функционала, либо признание устаревшим другого, web-приложение, разрабатываемое Вами, будет функционировать должным образом.

Однако, того же нельзя сказать, например, о мобильном приложении, установленном на смартфоне пользователя. Ведь пользователь может отказаться от обновлений приложения, и как же тогда быть? Нельзя же позволить, чтобы изменения на стороне сервера, с которым взаимодействует приложение посредством REST API, привели к недоступности сервиса на клиенте пользователя. Да Вы, возможно, и сами не часто обновляете приложения, или же вовсе отключаете их. Вот поэтому нам как разработчикам нужно в обязательном порядке добавлять версию API в URL.

Заметьте, что существуют два подхода в определении версии API: через URL, как было показано выше или через HTTP заголовок Accept:

Accept: application/vnd.myrusakov+json;version=1.0

Все ресурсы в REST, определяемые с помощью URL, являются объектами. Объекты могут быть независимыми:

GET /articles – получить все статьи
GET /articles/1036 – получить конкретную статью по идентификатору 1036

или зависимыми:

GET /articles/1036/comments – получить все комментарии к статье.

Т.е. объект комментариев принадлежит к конкретной статье и поэтому зависит от нее.

В примере выше мы GET запрос возвращает объект статей, статьи и комментариев. Запрос GET -идемпотентный, это означает, сколько бы мы раз не запрашивали URL /articles/1036, он всегда будет возвращать одно и то же. Успешный запрос должен возвратить объект статьи и HTTP код статуса 200 OK. В случае же возникновения ошибки могут быть возвращены следующие ответы: 404 (не найдено), 400 (неверный запрос) или ошибка из группы 500-599 (ошибки сервера).

Теперь рассмотрим метод POST, с помощью которого можно создать новую статью.

Запрос:

POST /articles

Тело запроса:

{
  "title": "Версионирование REST API",
  "content": "Содержание статьи"
}

Как видно, POST запрос не является идемпотентным, так как при отправке одного и того же запроса, будет создаваться новая статья, несмотря на то, что содержание одно и тоже. Правда идентификатор объекта статьи будет другим.

После успешного завершения запроса должен, опять же быть возвращен статус 200 OK. А тело ответа может быть следующего формата:

{
  "id": 1,
  "title": "Версионирование REST API",
  "content": "Содержание статьи"
}

Также мы могли бы вернуть статус 201 (Created), информирующий о том, что объект создан, и заголовок Location с URL идентификатором вновь созданной статьи.

Следующий на очереди метод – PUT. Его используют для того, чтобы обновить какой-либо объект – запись в базе данных, например. При отправке этого запроса, тело запроса должно содержать обновленные данные для записи, на которую указана ссылка в URL. Пример:

Запрос:

PUT /articles/1

Тело запроса:

{
  "id": 1,
  "title": "Версионирование REST API - Продолжение",
  "content": "Эта статья является продолжением предыдущей статьи"
}

Возможный ответ в случае успеха:

Status: 200 OK
Location: /articles/1

И последний запрос – это DELETE

DELETE /articles/1 – удаляет статью с идентификатором 1

В случае успешного завершения операции, возвращает статус 200 OK вместе с телом ответа, которое содержит информацию о статусе объекта. Например, если Вы не удаляете объект (под которым понимается статья, комментарии), а помечаете его как удаленный, повторные запросы DELETE должны возвращать статус 200 OK с той же информацией указанной выше. Но, если Вы удалили статью или комментарий, или какой-либо другой объект из базы данных полностью, то последующие запросы по этому адресу должны возвращать код 404 (не найдено).

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.