- PVSM.RU - https://www.pvsm.ru -
Как создать АПИ для умных? Такое апи, чтобы создание клиента для него было не скучным механическим процессом, а настоящим приключением с элементами детектива, хоррора и мистики? Такое апи, о котором пользователи будут взахлёб рассказываете коллегам? Апи взрывающее
{
Jacket: [{MaterialsIds=”m1,m2”, Pockets: “p1”, Price: 12000}],
Materials: [{Name: “Stormscale”, Color: “Tear of Elune”, InnerId=”m1”},
{Name: “Feather of Valor”, Color: “unpredictable”, InnerId=”m2”}],
Pockets:[{Type: “Invisible”, Contents: “Soap”, InnerId="p1"}]}
}
Не повторяйся.
a. Придумай разные системы для обозначения состояний разных объектов. К цифровой, описанной выше, можно добавить цветовую: green, red, yellow.
b. Меняй не только формат данных, но и формат записи названий полей — srart_date: 25/12/05, endDay: 2012.11.23.
c. Не забудь про огромный выбор разделителей: запятая, точка, точка с запятой. Добавь в него что-нибудь нестандартное — знак процента или решетку.
j. Список можно продолжать, будь креативен.
has_goods может принимать значения [-2, -1, 0, любое положительное число],
что значит: [уточните, нет в продаже, нет в наличии, количество товара в наличии]
Добавьте в запрос обязательный параметр, у которого может быть только одно значение.
http://example.com/myService?cloth_type=silk&and_better=1
Где "cloth_type" - обозначает конкретный тип ткани (тут, естественно, требуется название ткани строкой, даже если есть справочник тканей, в котором указаны их айдишники), а "and_better" делает его началом диапазона с константным концом. Для “большей гибкости” можно дать параметру "and_better" второе значение (-1, 0, false, not) или добавить необязательный параметр "and_worst" и обрабатывать тот, который стоит первым/последним, либо сначала проверять наличие первого, а при его отсутствии - второго.
http://example.com/myService?d=11.12.05&d=12.12.05&d=13.12.05&colors=green;yellow
http://example.com/myService?cats=5&dogs=4&hamsters=0 где cats и dogs интовые поля обозначающие количество, а hamsters битовое поле обозначающее наличие.
Документация не нужна.
a. Если пришлось документировать, пропусти наиболее “очевидные” места.
b. Не усложняй документацию примерами.
c. Задокументируй отсутствующий функционал, который ты обязательно допишешь потом.
d. Раздели документацию на несколько частей и каждую отдавай только тем пользователям, которые догадаются про неё спросить.
Этот список основан на реальных событиях, имена изменены в интересах конфиденциальности, все совпадения не случайны.
P.S. Напишите о своих героях и их былинных деяниях в комментариях.
Автор: nosterx
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/api/270799
Ссылки в тексте:
[1] мозг: http://www.braintools.ru
[2] Источник: https://habrahabr.ru/post/344790/?utm_campaign=344790
Нажмите здесь для печати.