к использованию и допиленные или пока на go-swagger так и сидим?
А чем существующие плохи?
слишком мало файлов на выходе генерит )
шутка мимо меня прошла( Смотрю, что есть сейчас для генерации сервера из спеки. Составил такой список: swagger-codegen Официальная 16к звезд go-swagger 9к звезд. Версия 2.0 (версии 3.0 не будет) oapi-codegen 4.5к звезд ogen 0.8к звезд OpenApi v3 (еще нет версии 1.0.0) Вроде oapi-codegen интересно. Но как понял по чату, много кто использует go-swagger, который 2.0. Почему так?
я оапи-кодген юзаю ) про шутку — го-сваггер для простого сваггер файла генерит минимум чуть ли не 20 файлов )
а есть ссылочка глянуть?
https://github.com/go-swagger/go-swagger/tree/master/examples/todo-list/restapi это лайтовый завпрос )
та не, я про oapi-codegen
ну гугл же есть )
на гитхабе как обычно ни одной простой команды типа "ввел" заработало :(
ввел и заработало это про генерацию клиента ) сервер там чуть сложнее )
oapi-codegen не умеет в reference на поля других объектов, я у них issue оставил 🙃
swagger-codegen генерит тоже самое
Почему его не используют?
я его использую
так. А почему его, а не другие? Не go-swagger например?
google: swagger generator download --> https://swagger.io/tools/swagger-codegen/download/ --> https://github.com/swagger-api/swagger-codegen
т.е. потому что первым в гугле вылез или что?)
Насколько я знаю, все они не допилены и не поддерживают спецификацию в полной мере
В каком смысле - то же самое? Когда я его проверял - он генерил пустые обертки
вот такое же генерит. if api.TodosAddOneHandler == nil { api.TodosAddOneHandler = todos.AddOneHandlerFunc(func(params todos.AddOneParams, principal interface{}) middleware.Responder { return middleware.NotImplemented("operation todos.AddOne has not yet been implemented") }) }
тогда я не понял что такое пустые обертки
Есть подозрение, что мы все просто уйдем на proto+grpc-gw
1. а как грузить файлы? 2. не лучше ли grpc-web? мы юзали и grpc-gw и grpc-web и второй генерил лучший код для TypeScript
Когда я последний раз проверял, swagger-codegen не генерил валидааторов для go, к примеру
1. А надо? Не припомню такой необходимости. Если надо - изучим. 2. Не лучше
Знаю крупную РФ контору, которая на это ушла, а теперь возвращается обратно. Фронтам не понравилось: бандл жирный, а библиотеки какие-то там устарели и особо не развиваются. Захотели GraphQL. Чем закончилось не знаю - я свалил
Ну, надеюсь, нет. Вряд ли уж
Они там что-то по proto-файлам генерили себе
// @generated by protobuf-ts 2.9.0 import type { RpcTransport } from "@protobuf-ts/runtime-rpc"; import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
Grpc-gw принимает запросы по openapi и конвертирует в grpc Там нет никакого бандла
Обсуждают сегодня