??? ????? REST API ? ??? ???????? ?????????????? ???????
REST API ???????? ????? ????????????? ?????? ??? ???????? ???-????????. ???????????? REST ???????????????? ??? Representational State Transfer. ????? ???? ??????????? ????????? ???????????? ??????? ????? ????????.
???????? ??????? ?????????????? ?? ????????? HTTP. ?????????? ?????????? ???????? ?????? ?? ??????. ?????? ???????????? ?????????? ? ?????? ????????? ? ??????? JSON ??? XML.
????????? REST ????????? ?? ???? ?????????? ?????????. ?????? ?????????? ????? ??? ??????????? ?????????? ??? ?????????. ?????? ?? ?????????? ?????? ? ??????? ???????? ?????? ??????. ???????? ????? ????????? ??????????????? ???????.
REST API ??????????? ??? ?????????? ????? ? ??????????. ????????? ????????? ????????? ?????????? ? ???????? ????? API.
???????? ????????? REST API
REST API ?????????? ?? ???? ????????. ???????? ????????? ???????????? ??????? ??? ??????????, ????????? ????? ???????????? URL. ????????? ???????? ?????? ????????????, ????????, ????????? ??? ?????????. ?????? ?????? ???????? ??????????? ????????????? ? ???????.
?????? ???????? ? ????????? ????? ??????? HTTP-???????. ?????????? ???????????? ?? ???????????? ????, ??????? ?????????? ?? ????????? ??????. ?????? ?????????? ??????????? ??????? ? ??????? ???????. ????????????? ???????? ????????? ????????? ??????? ? ??? ????????.
????????????? ?????? REST ?????????? ????? ??????? ??????????. ?????? ???????????? ????????????? ??????? ? ???????. ?????? ????????????? ?????????? ??????? ????? ????????????. ?????? ??????????? ??????????? ??????????? ??? ????? ????????????? ?????? ??????. ????????? ?????? ?????????? ??????????. ????? ?????????? ???????? ??????????? ???????.
REST API ????????????? ???????????? ?????????? ?????????????? ??????????. ?????? ???????????? ????????? ????????? ?????????? ? ????????? ?????? ?????????. ????????????? ?? ??????? ?? ???????????? ????????? ??????????? ?????????.
??? ?????? ? ?????? ??????????????? ???????????
??????? ??????? ? ??????? ???????? ? ???????????? HTTP-???????. ?????????? ????????? ?????????? ??????, ??????? ??????, ???? ??????? ? ?????? ?????????. ?????????? ???????????? ?? ?????? ????? ??????? ??????????. ?????? ???????? ?????????? ?????? ? ???????? ??? ?????????.
???????????? ?????????? ?????????? ????????? ??????. ?????? ??????????? ????? ?????????? ? ???????? ??????????? ????????. ??????? ????????? ?????????? ??????? ??????? ? ?????????????? ???????. ?????? ????????? ??? ???????? ?????? ? ???????????? ? ????????. ????? ?????????? ???????? ????????? ????????? ? ???????.
????????? HTTP-??????? ???????? ??????????? ??????????:
- ????? ?????????? ?????? ??? ???????? ??? ????????
- URL ????????? ??????? ? ??????????? ??????? ?? ???????
- ????????? ???????? ?????????? ? ??????? ? ???????
- ???? ?????????? ????? ?????? ??? ???????? ??? ??????????? ???????
?????? ????????? ????? ????? ???????????? ??????????. ????????? ????? ??? ?????????, ????????? ? ?????????? ? ???????. ??? ??????? ?????????? ? ?????? ?????????? ????????. ????????? ?????? ????? ?????????????? ???????? ? ?????? ?????? ??????.
?????? ???????? ????????? ? ??????????? ???????? ??????. ????????? ??????????? ??? ??????? ??? ???????????? ?????????? ????????. ?????? ?? ???? ?????????? ??????????? ??? ????????? ?????????? ??? ?????????? ?????????. ??????? ??????? ???????????? ?? ???????????? ??????????.
?????? GET, POST, PUT ? DELETE
?????? GET ????????????? ??? ?????????? ?????? ? ???????. ?????? GET ?? ?????? ?????? ???????. ?????? ?????? ????? ???????, ? ?????? ?????? ??? ???????????. ????? ?????????? ?????????? ? ?????????????.
?????? POST ?????????? ????? ?????? ?? ???????. ?????? ???????? ?????????? ? ?????????? ?????????? ??? ????????? ???????. ?????? ???????????? ?????????? ? ????????? ?????? ? ????????? ??????. ????? ????????? ????????? ?????? ?????????? ????????????? ?????? ??????? ?????? ??????.
?????? PUT ????????????? ?????????????? ?????? ??? ????????? ?????? ?? ????????? ??????. ?????? ???????? ?????? ??????????? ??????? ? ???? ??????????. ?????? ????????? ??????? ?????????? ?? ?????????? ?????????. ????? PUT ?????????? ?????????????.
?????? DELETE ?????????? ???????????? ?????? ? ???????. ?????? ?????????? ?????? ? ??????? ???????. ?????? ???????? ?????? ? ??????? ??? ?? ???????????. ????? ???????? ??????????? ??????? ?????? ?????? ?????????? ???????.
????? ?????? ??????? ?? ??????????? ???????? ??? ????????. ?????????? ?????????? ???????? ???????????? ??????????????? ????????? API.
???????? URL, ?????????? ? ?????????? ??????????
URL ????????????? ???????????? ??????? ? ???????. ???? ??????????? ?? ?????????, ????????? ???????? ? ???????? ? ???????. ??????? ????????? ?? ?????????? ?????? ??? ????? ????????. ?????? URL ??????? ???? ???????? ? ?????????.
????????? ??????? ???????? ?????????? ?????????? ???????. ????????? ????????????? ? URL ????? ????? ??????? ? ??????????? ???????????. ????????? ???????????? ??? ?????????? ??????????, ?????????? ?????? ??? ???????? ???? ?????????? ?????? ??????.
????????? ??????? ???????? ?????????? ? ??????? ? ??????????? ? ??????????. ????????? Content-Type ????????? ?????? ?????? ? ?????????? ???????. ????????? Accept ????????????? ???????????????? ?????? ??????. ????????? Authorization ???????? ??????? ???????? ??? ???????????.
????????? User-Agent ?????????? ?????????? ?????????. ????????? Accept-Language ???????? ???????????? ???? ??????????. ????????? ????????? ??????????? ????? ????????????.
????????? ????????????? ????????? ?????????? ???????????? ??????????????? API. ????????????? ?????? ???????? ?????????? ?? ???????.
??????? ??????? ? ???? ?????????
?????? ?????? ?????? ? ????????????? ?????. JSON ?????????? ???????? ?????????? ???????? ??? REST API. ??? JSON ??????????? ???????????? ?????????? ? ???????? ????????. XML ??????????? ? legacy-???????? ? ????????????? ??????????. ????? ??????? ??????? ?? ?????????? ??????? ? ????????? ?????????.
???? ????????? HTTP ???????? ? ????? ????????? ??????????. ??????????? ??? ????????? ?? ?????, ?????? ??????? ??? ???? ?? ??????? ?????? ??????. ???? ???????????? ?? ??????? ? ??????????? ?? ????????? ?????.
???????? ?????? ????? ?????????:
- ???? 2xx ??????????????? ?? ???????? ?????????? ??????????
- ???? 3xx ????????????? ?? ??????????????? ? ??????? ???????
- ???? 4xx ???????? ?? ????????? ? ??????? ???????
- ???? 5xx ???????? ? ????????? ?? ??????? ???????
??? 200 ?????????? ??????? ?????????? ??????????. ??? 201 ???????????? ???????? ?????? ???????. ??? 204 ????????? ?? ??????? ?????????? ??? ???????? ??????????. ??? 400 ??????????????? ? ????????? ???? ???????. ??? 401 ??????? ???????? ????????????. ??? 404 ???????? ?? ?????????? ?????????????? ???????. ??? 500 ????????? ?? ?????????? ????????? ???????.
?????????? ?????????? ????? ????????? ???????? ?????? ??????? ????????. ?????????????? ????? ???????????? ???????????? ?????? ?????? API.
??????????? ? ?????? API-??????????
??????????? ???????????? ?????? ? ???????? API. ??????? ????????? ?????????? ???????????? ????? ??????????? ????????. ??????? ???????? ???????? ??? ? ?????? ? ????????? ??????????. ????? ????????????? ??????????? ??????????? ??? ???????????? ?????? ??????.
?????? ??????? ??????????? ???????? ????????????. ?????? ????????? ????? ????? ???????? ????????. ????? ???????????? ? ????????? Authorization ??? ?????? ???????. ?????? ???????????? ???????????????? ?????? ? ????????? ??????. ?????? ???????? ?????????????? ???? ????????.
OAuth 2.0 ???????? ???????? ??????????? ??? ??????????? ??????????. ???????? ????????? ????????????? ?????? ??? ???????? ??????? ????????. ?????? ???????? ?? ??????? ?????????? ? ????????????? ?????????? ?????? ??????. ????????? ???????? ????? ??????? ? ????????????? ????????????.
HTTPS ??????? ?????????? ??? ???????? ????? ???????? ? ????????. ??????????? ????????????? ???????? ????????? ????????????? ????????????? API. ????????? ??????? ?????? ????????????? ???????? ? ??????? ???. ?????????????? ?????????? ??????????? ??????????? ???????????? ??????????.
??? REST API ???????????? ? ???-??????????
REST API ?????????????? frontend ? backend ?????? ???-?????????. ?????????? ????????? ???????? ?? ????????? ? ?????????????? ? ?????????????. ????????? ??????? ????????? ??????-?????? ? ?????????? ???????????. ????????????? ???????????? ??????? ?????????? ?????????.
?????????????? ????????? ?????? ??????????? REST API ??? ??????? ??????. JavaScript-?????????? ?????????? ??????????? ?????????? ??? ???????????? ????????. ?????? ?????? ?????? ? ???? JSON ??? ???????????? ?????????? ?????? ??????. ???????????? ????????? ??????? ????? ?? ????????.
????????? ?????????? ???????? ? ???????? ????? REST API. ?????????? ??? iOS ? Android ????????? ?????????? ?????. ?????????????? API ????????? ??????? ?? ???????? ????????? ?????. ???????????? ????????? ????? ????????? ??? ???? ????????.
?????????????? ????????? ???????????? ?? ?????????????? ??????? ????? API. ?????? ??????????? ?????? REST API ??? ?????? ?????????. ????????? ???????????? ????????????? ???????.
??????????? ? ???????? ???????? ??????????? ??????????? ????????. ???-????????? ???????????? ????????? ???????, ????? ? ?????????? ???? ????? ????????? API.
???????? ??? ?????????????? ? ?????????? API
???????????? ????????????? HTTP-???????? ???????? ????????? REST API. ???????????? ????? ??????????? GET ??? ????????? ??????. ????? GET ?????? ???? ????????? ?????????? ??? ???????? ???????????. ????????????? POST ??? ???? ???????? ????????? ????????? ?????????? ?????? ??????.
?????????? ??????????????? API ??????? ????????? ??? ???????????. ??????????? ? ????????? ??????? ????????? ???????????????? ????????? ????????. ??????????????? ????? URL ??? ????????? ???????????? ???????? ?????????????.
????????????? ????? ??????? HTTP ?????????? ?????????? ?????????. ??????? ???? 200 ??? ????????? ?????? ??????? ? ???????????. ?????????? ???? ????????? ??????????? ?????????? ??????? ?????????. ?????????????? ????????? ?? ????? ???????? ???????????.
?????????? endpoints ??????? ??????????? ?????????? ????????????? API. ???????????? endpoint ?? ?????? ???????????? ????????? ??????????? ????????. ??????????? ???????????????? ?? ??????????????? ??????? ???????? ??????????.
?????????? ???????????? ?????? API ???????????? ??? ?????????????. ???????????? ??????? ????????? ??? ?????, ????????? ? ???? ???????????. ??????????? ???????? ??????????? ??????????? ?????? ?????????.
