Size: a a a

Боль Тимлида

2021 November 17

AB

Anton Breslavsky in Боль Тимлида
Другими словами, разработчики обращаются к спецификации, чтобы увидеть, как должны называться имена параметров, каковы должны быть ответы и так далее. После того, как этот «контракт» или «план» был принят, Стоу говорит, можно поместить аннотации в свой код (при желании), чтобы сгенерировать документ спецификации более автоматизированным способом. Но не стоит кодировать без предварительной спецификации.
источник

PD

Phil Delgyado in Боль Тимлида
Какие шаблоны имеются в виду?
источник

АС

Альберт Степанцев... in Боль Тимлида
с маааленьким костылем в виде допущения, что кроме CRUD бывает еще и RPC - подходит
источник

PD

Phil Delgyado in Боль Тимлида
Ну, мало ли что кто-то где-то пишет.
источник

СА

Сергей Аксёнов... in Боль Тимлида
Я тоже сторонник такого метода: сначала нарисовать OpenAPI, а потом из него кодгенерацией сделать код для клиента и сервера, куда уже добавлять бизнес-логику.
источник

PD

Phil Delgyado in Боль Тимлида
Ну, а если у тебя нормальный RPC - то нафиг REST? Только убивать нормальный ООП )
источник

AB

Anton Breslavsky in Боль Тимлида
Ну а меня за эти слова вчера уничтожили 🙂
источник

PD

Phil Delgyado in Боль Тимлида
Ну, тут две беды
1) кодогенераторы из OpenApi ужасны
2) OpenApi очень плохо накладывается на конкретные языки и библиотеки

Этот подход имеет смысл если
1) в проекте используется много языков или вообще неизвестны языки клиентов и серверов
2) используется подмножество от OpenApi
3) другие подходы не получается применять
источник

СА

Сергей Аксёнов... in Боль Тимлида
Почему плохо подходят? Зависит же от задачи. Простую апишку на 5-6 ручек вообще, имхо, более-менее всё равно по какому паттерну делать, а вот большие и развесистые по моему опыту лучше выглядят в rest. Примеры: Гитхаб, Гитлаб.
источник

AB

Aleksandr Bespalov in Боль Тимлида
А есть реальные примеры где то на гитхабе как что то сложнее crud генерировали для сервера (не клиент) для конкретных языков? Не 3 эндпойнта, а сотня, например? Для строго типизированных языков.
источник

PD

Phil Delgyado in Боль Тимлида
Ну, как раз и гитхаб и гитлаб - ужасно выглядят в REST, REST не поддерживает ни одной из методологий проектирования (ни объектной, ни функциональной).
источник

AB

Aleksandr Bespalov in Боль Тимлида
Гитлаб - это прям state or the art, как одновременно пользоваться и страдать.
источник

PD

Phil Delgyado in Боль Тимлида
Ну, весь гит - это про пользоваться и страдать )
источник

VS

Vladimir Smirnov in Боль Тимлида
Большие развесисты апишки на «стандарте» в котором не стандартизировано ничего?
источник

СА

Сергей Аксёнов... in Боль Тимлида
Ну базово, что всё в JSON, что типичные операции выражаются http-методами, что у урлов есть человеко-понятные части и части, куда подставляются id, и всё иерархично, типа /articles/:aid/comments/:cid
источник

AB

Aleksandr Bespalov in Боль Тимлида
Всё как мы любим
источник

AB

Aleksandr Bespalov in Боль Тимлида
Вот эти иерархии - ужасны
источник

PD

Phil Delgyado in Боль Тимлида
Ну и что в этом хорошего?
Три разных языка запроса внутри одного стандарта - это же ужас )
источник

AB

Aleksandr Bespalov in Боль Тимлида
Запросы делает клиент к серверу из кода, зачем там такая читаемость?
источник

AB

Aleksandr Bespalov in Боль Тимлида
Чтобы что?
источник