April 25
Модель зрелости API Ричардсона
Концепция, которая показывает соответствие API принципам REST
Начало тут: https://t.me/business_ana_lis/906
Уровень 0
💪 Глагол действия используется только один, чаще всего берут POST, потому что действия определяются в параметрах запроса
{ "action": "activate",
"attributes": {
"username": "admin",
"email": "email@example.com",
"password": "12345"
}
}Уровень 1
🔗 Отдельная ссылка на каждый ресурс
💪 Глагол действия используется только один, чаще всего берут POST, потому что действия определяются в параметрах запроса
Уровень 2
🔗 Отдельная ссылка на каждый ресурс
💪 Используются все глаголы действия
Уровень 3
🔗 Отдельная ссылка на каждый ресурс
💪 Используются все глаголы действия
➕ Добавляется управление содержанием ресурса: при каждом вызове в ответе сервер возвращает список доступных ресурсов и возможных для них действий. Такая концепция называется HATEOAS (Hypertext as the Engine of Application State)
<appointment> <slot id = "1234" doctor = "mjones" start = "1400" end = "1450"/> <patient id = "jsmith"/> <link rel = "/linkrels/appointment/cancel"uri = "/slots/1234/appointment"/> <link rel = "/linkrels/appointment/addTest" uri = "/slots/1234/appointment/tests"/> <link rel = "self" uri = "/slots/1234/appointment"/> <link rel = "/linkrels/appointment/changeTime" uri = "/doctors/mjones/slots?date=20100104@status=open"/> <link rel = "/linkrels/appointment/updateContactInfo" uri = "/patients/jsmith/contactInfo"/> <link rel = "/linkrels/help" uri = "/help/appointment"/> </appointment>