Skip to content

idrsv/spring_rest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 1#                                    REST - REpresentational State Transfer
                REST - это очень удобный способ коммуникации между приложениями. Он описывает стандарты, используя
                    которые Клиент взаимодействует с Сервером посредством HTTP протокола.

                Вызовы REST API могут осуществляться, используя HTTP протокол.

                REST API не принуждает использовать какой-либо конкретный язык программирования. Клиентская и серверная
                    части приложения могут быть написаны на разных языках программирования.

                Для передачи данных можно использовать не только JSON, но и любой другой формат данных(JSON,XML,YAML).

 2#                                    JSON- Java Script Data Annotation
                Формат данных JSON представляет собой текстовую информацию.

                JSON использует для хранения и обмена информации.

                JSON не привязан к какому-то конкретному языку программирования и используется повсеместно.

                JSON содержит коллекцию пар ключ-значение.

                JSON Data Binding или JSON Mapping - привязка JSON к Java объекту.

                Пример формата JSON файла:
                    {
                        "name":"Danil",
                        "surname":"Idrisov",
                        "salary":"750",
                        "languages":["English", "Deutsch", "French"],
                        "car": {
                            "model":"BMW",
                            "color":"black"
                        },
                        "house":null
                    }

                Jackson используется для преобразования Java objects в JSON. Создаеются с помощью геттеров(JSON)
                и сеттеров(Java Object).

 3#
                HTTP - протокол для передачи данных в сети.

                Клиент(Веб браузер) - Сервер(Tomcat с нашим Spring MVC приложением).

                Запрос(request) - Ответ (response).

                @GetMapping вместо @RequestMapping с помощью запроса Get.
                @PostMapping вместо @RequestMapping с помощью запроса Post.

                Get - передает информацию в самом URL. Ограничен максимальной длиной. Не поддерживает передачу
                    бинарных данных. Можно поделиться ссылкой. Используется для получения информации.
                Post - передает данные в теле запроса(делает его более безопасным). Не ограничен максимальной длиной.
                    Поддерживает передачу бинарных данных. Ссылкой поделиться нельзя. Используется для добавления.

                              HTTP request
                              |
                              Request line              HTTP метод и адрес(URL)
                              Zero or more Headers      Метаданные о запросе
                              An empty line             Пустая запроса разделения header от body
                              Message body(optional)    Payload - полезная нагрузка.

                              HTTP response
                              |
                              Status line               Код статуса и текст статуса
                              Zero or more Headers      Метаданные об ответе
                              An empty line             Пустая запроса разделения header от body
                              Message body(optional)    Payload - полезная нагрузка.

                1хх - Informational. Запрос был получен, и процесс продолжается.
                2хх - Success. Запрос был успешно получен, понят и принят.
                3хх - Redirection. Для выполнения запроса необходимо предпринять дальнейшие действия.
                4хх - Client Error. Запрос содержит неверный синтаксис или не может быть выполнен.
                5хх - Server Error. Серверу не удалось выполнить корректный запрос.

 4#                                             REST API
                @RestController - это Controller, который управляет REST запросами и ответами.











About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages