-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
86 lines (56 loc) · 5.44 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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 запросами и ответами.