Upgrade to Pro — share decks privately, control downloads, hide ads and more …

liga-spring-practice-third-lecture

Andrey Popikov
May 21, 2019
23

 liga-spring-practice-third-lecture

Andrey Popikov

May 21, 2019
Tweet

Transcript

  1. 01. Теоретическое введение в протокол HTTP и RESTful API. 02.

    Структура проекта с использованием Spring. 03. Пример небольшого веб-сервиса с использованием Spring. 04. Добавим работу с БД в нашем веб-сервисе.
  2. Немного об HTTP Основные моменты: • Текстовый протокол, который работает

    поверх TCP. • Один из наиболее распространённых протоколов. • Много готовых реализаций клиентов и серверов + решены основные задачи (авторизация, шифрование, кэширование и т.д.). Основные сущности протокола: • HTTP-методы – GET, POST, PUT, DELETE (основные). • Параметры запроса, а также тело запроса для POST и PUT методов. • Заголовки запроса и ответа. • Тело ответа. • Коды ответа (1xx, 2xx, 3xx, 4xx, 5xx).
  3. Где взять дополнительную информацию об HTTP Важно – учимся читать

    RFC и разнообразные спецификации! Пример основных спецификаций по HTTP: • IETF RFC HTTP 1.1 - https://tools.ietf.org/html/rfc2616 • IETF RFC по форматам дат и времени - https://tools.ietf.org/html/rfc3339 • Как читать RFC от IETF - https://www.ietf.org/blog/how-read-rfc/ • Вот тут есть весь список от IETF - https://www.rfc-editor.org/rfc-index.html
  4. Что такое RESTful API Основные моменты REST: • Формат API

    для взаимодействия на основе протокола HTTP. • Для различных типов действий используются разные HTTP-методы (посмотрим на примере и попробуем реализовать). • Основной формат данных для запроса / ответа - JSON (реже XML). • Нет строго стандарта, больше похож на набор практик.
  5. Пример RESTful API Небольшой пример описания RESTful API для управления

    пользователями: • Метод всех пользователей – GET /user/ • Метод получения пользователя по ID – GET /user/:id • Метод создания пользователя – POST /user/ • Метод удаления пользователя – DELETE /user/:id
  6. Кратко о Spring Почему именно Spring: • Быстроразвивающийся и популярный

    фреймворк. • Решено большое количество типичных задач (REST-сервисы, работа с БД, кэширование, security). • Легко начать работу с фреймворком (за счёт Spring Boot). • Более 80% всех вакансий по Java-разработке – связаны со Spring.
  7. Основные части Spring • Spring (IoC, DI) – ядро фреймворка.

    • Spring Boot – часть, упрощающая конфигурацию. • Spring Data – доступ к данным (различные БД). • Spring Security – авторизация и разграничение доступа. • Spring Integration – набор утилит для интеграции.
  8. Дополнительные материалы по теме • Книга «Spring в действии» -

    https://www.ozon.ru/context/detail/id/31239365/ • Официальная документация и статьи (link, link) • БД H2 - https://www.h2database.com/ • JdbcTemplate - https://spring.io/guides/gs/relational-data-access/ • https://start.spring.io/
  9. Что посмотрим на следующей лекции Лекция – основы Spring (часть

    II). Детальнее: • Детальнее посмотрим на DI и конфигурирование Spring. • Разберём пару примеров, как организовать авторизацию в веб-сервисе. • Небольшое введение в Kotlin. • Посмотрим, как Kotlin работает со Spring.