??? ????? REST API ? ??? ???????? ????? ???????
REST API ???????????? ????? ????????????? ????? ??? ???????? ???-????????. ?????????? REST ???????????????? ??? Representational State Transfer. ????? ???? ?????????? ???????????? ??????? ????? ????.
?????????????? ??????????? ??????????? ?? ????????? HTTP. ?????????? ?????????? ???????? ?????????? ?? ??????. ?????? ??????????? ?????????? ? ?????? ????????? ? ??????? JSON ??? XML.
????????? REST ?????????? ?? ???????? ?????????? ???????. ?????? ?????? ????? ??? ????????? ?????????? ??? ?????????. ?????? ?? ?????????? ?????????? ? ??????? ???????? ?????? ??????. ?????? ?????? ????????? ??????????????? ???????.
REST API ???????????? ??? ??????????? ???????? ? ??????????. ????????? ?????????? ????????? ?????? ? ???????? ????? API.
???????? ??????? REST API
REST API ???????????? ?? ???? ????????. ???????? ?????????? ????? ?????? ??? ??????????, ????????? ????? ???????????? ????. ????????? ???????? ????????? ???????, ???????, ??????? ??? ?????????. ?????? ?????? ???????? ??????????? ??? ? ???????.
?????? ???????? ? ????????? ????? ??????? 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 ??????????? ??? ?????????????. ???????????? ?????? ??????????????? ??? endpoints, ????????? ? ???? ???????. ??????? ?????????? ???????????? ??????? ??????? ?????????.

