О, поверь, это название ты услышишь еще не раз и не два. Для меня первое время тоже было загадкой, что же подразумевается под словом “контракты”. И тут ты опять не поверишь: да все то же что и в реальной жизни между людьми: соглашение о чем-то и в данном случае о передаче информации. Например: чтобы отдать данные по всем возможным стульям из моего каталога офисной мебели, я жду от системы, которые эти данные нужны чтобы она запросила по адресу http://мойклассныймебельныймагазин.рф/getCatalog?product=chairs. Не добавляя лишних мелочей, это мой контракт с другими системами, по которому я готов отдать список стульев.
Но у тебя ведь появился вопрос: наверняка контракты сейчас как-то стандартизовали. Ты ж моя молодчина! Именно так! И самый популярный формат сейчас - это Swagger спецификации. Это такой документ, который используют REST сервисы (о них мы поговорим сегодня, но попозже) для общения с другими системами. Пример такого контракта можешь найти тут: https://editor.swagger.io/
Капитально я его разбирать его не буду, но пройдемся по верхам. В самом начале идет всякая общая служебная информация типа версии стандарта (поле openapi), описания (decription) и контактной информации владельца спецификации.
Дальше - интереснее. после строчки “paths” идет как раз описание адресов, по которым можно что-то получить. Ребята в качестве примера дают магазин домашних животных и используя их API можно либо добавить животное, либо получить информацию о нем или получить список всех животных в магазине. В зависимости от метода, которым будут отправлены данные, но это уже совсем другая история акурат следующей статьи про REST сервисы, а пока подписывайся, комментируй и зови друзей!
#rest #swagger #api #контракт #openapi