Open aleksander-git opened 6 months ago
Вопрос - нужен ли нам линтер для протофайлов? Если да, то какой? По умолчанию есть DEFAULT, но там, например имена в snake_lower_case а не camelCase и методам надо дописывать Service. Если подойдет можно и по умолчанию оставить. И еще проверка с версией протофайла тоже есть в DEFAULT.
Да, минимальный набор линтеров нужно оставить + проверка версий тоже удобно
Решил закачать плагины для бафа локально по гайду https://eliofery.github.io/blog/2024-02-03-kodogeneraciya-protobuf-fajlov-ispolzuya-plagin-buf-backend.html Получаются исталлы локальные. Их надо в репозиторий тащить или нет? Или все таки оставить плагины как например buf.build/grpc/go?
Еще момент - buf.build/bufbuild/validate-go - я зашел на гит https://github.com/bufbuild/protoc-gen-validate/tree/main у них и там написано - мол,мы рекомендуем новые проекты на https://github.com/bufbuild/protovalidate переходить (но там версия 0.64 стабильная). Переходим или этот оставляем? UPD. Правда пока непонятно, как его локально юзать. И похоже что никак - чисто на buf цепляется
Первый вопрос: в репозиторий тащить не надо, вся кодогенерация будет локально. Второй вопрос: по возможности лучше использовать рекомендуемые инструменты
По поводу структуры - именно так делаем? /grpc/proto - здесь файлы конфигурации buf /grpc/proto/v1 - сами прото файлы В документации buf там вроде рекомендуют в корне файлы конфигурации. Но мне кажется лучше в /grpc а не в /grpc/proto И еще в документации написан пример - там так └── proto ├── google │ └── type │ └── datetime.proto └── pet └── v1 └── pet.proto То есть сначала папка proto, потом модуль (или пакет?), потом уже версия паекта и в версии протофайл На мой взгляд лучше так /grpc - здесь файлы конфигурации buf /grpc/proto - сами прото файлы /grpc/gen - сгенерированный код Генерироваться будет так же как в proto с папками примерно так
└── gen ├── google │ └── type │ └── datetime.pb.go └── pet └── v1 └── pet.pb.go А плагин openapiv2 как я понимаю генерирует swagger - это в папку /grpc/docs?
Сделал скрипты buf для генерации файлов. Скорее всего нужна документация или презнтация - делаем? :) Если да то куда? Если что - ветка buf называется
Сгенерировал файлы для демонстрации работы buf generate Запускаем файл test_file.go Переходим по адресу http://localhost:8080/version - и видим ответ от сервера в виде JSON файла
Добавлен docker-compose.yaml для запуска Swagger UI. Доступен по адресу http://localhost:8086
Для описания API будем использовать proto файлы с помощью buf (https://github.com/bufbuild/buf)
Этого даст нам возможность хранить описание всего API в proto-файлах.
Понадобятся следующие плагины:
Структура будет следующая: /grpc/proto - здесь файлы конфигурации buf /grpc/proto/v1 - сами прото файлы /grpc/gen/v1 - сгенерированный код
TODO Подготовить структуру, файлы конфигурации buf и команды для генерации кода
Для работы с buf из РФ нужен будет VPN