170 похожих чатов

Ребят, привет. Посоветуйте по проектированию API. Было несколько отдельных проектов,

теперь они сьезжаются, и нужно многое переосмыслить.
1️⃣) Предполагается иметь три уровня доступа к данным : публичный - для веб приложений, самый минимум только необходимой информации, для сторонних клиентов - по авторизации, только данные, представляющие ценность, и админитративный - наиболее полные данные с метаданными, вроде истории изменений редакторами. Имеет ли смысл явно делить это на уровне URL, если модели используются одни и те же, то есть api.site.com/admin/items, api.sute.com/v1/[api-code]/items ... , api.com/public/items-for-webapp , при условии, что и апи, и вебприложения делает одна компания? Имеет ли смысл вводить версионирование для чего-то кроме апи для сторонних пользователей?
2️⃣) В привычных мне рест-апишках роуты строились банально: сайт/[множество]/[идентификатор]. Теперь реализовали возможность получать статистику по множеству /[множество]/статистика[1,2...] , корректно ли это? Ведь статистика по множеству не возвращает члены множества, стоит ли её тогда выделить уровнем выше? апи.ком/статистика/[множество]/предмет-отчёта - например.
3️⃣) Естественно, я уже посмотрел несколько докладов с конференций на тему, и в одном из них звучала рекомендация препочитать snake_case для роутов апи кемелКейсу или ПаскальКейсу. В моём апи сейчас используются кебаб-кейс, есть причины изменить это?

2 ответов

20 просмотров

по третьему пункту - в урлах лучше не юзать большие буквы - потому-что некоторым серверам на винде пофиг на регистр букв. Это вас конечно может не касаться - но как бы лучше за привычку взять) к апям не относиться - но сеошники говорят лучше урлы через тире писать

GraphQL вам в помощь! :)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта