#spring #spring-boot #hibernate #spring-mvc #vaadin
#весна #весенняя загрузка #переход в спящий режим #spring-mvc #vaadin
Вопрос:
Спокойной ночи! Ребята, мне нужен совет от разработчиков Java по поводу моего кода monkey. Я изучаю Spring Boot, и мне нужно создать приложение, которое может получать изображения с помощью REST API или пользовательского интерфейса на Vaadin после распознавания объектов на нем с помощью Google AI, результат должен быть сохранен в PgSQL еще некоторые требования, описанные в README.md .
В общем, я набросал REST и могу получить готовое распознавание. Но у меня много вопросов:
- Я должен покрыть код интеграцией модульными тестами. У меня нет вопросов по интеграции, но как писать модули для приложений SpringBoot, нужно ли было учитывать каждый метод?
- Как мне автоматически сгенерировать вставку Sql для таблиц oid PgSQL (DataGrip, DBeaver не могут этого сделать)? Я хочу добавить это к миграции Flyway.
- Я использую много-много ссылок, как мне реализовать удаление в режиме гибернации из трех таблиц (все, что я пока знаю, это как это сделать в чистом SQL)?
- В handlePicrureUpload() Я не только загружаю изображение, но и записываю изображение в теги PgSQL. Очень серьезная ошибка заключается в том, что эти действия выполняются только после завершения работы метода handlePicrureUpload().
- Как сделать многопоточную загрузку и обработку изображений? Как отслеживать статус каждого распознавания, отдельного контроллера, который принимает статусы из Google Cloud?
- Как вывести таблицу c / api / ai / getAiResults() в Vaadin. Как отобразить картинку в таблице Vaadin и как запланировать список тегов в поле (было крайне желательно их отредактировать).
Я знаю, что у Google есть ответы на все эти вопросы, но сейчас я немного ограничен во времени. Ты можешь ударить меня палкой.
Cloud Vision documentation - https://cloud.google.com/vision/docs
Спасибо всем, кто откликнется!
Комментарии:
1. Вы задали много вопросов в одном сообщении. 🙂 Может быть, сначала попробуйте поискать их в Google и задать отдельные вопросы, если что-то не сработало или вам нужны некоторые разъяснения?
Ответ №1:
Я должен покрыть код интеграцией модульными тестами. У меня нет вопросов по интеграции, но как писать модули для приложений SpringBoot, нужно ли было учитывать каждый метод?
- модульные тесты, как правило, для каждого метода.
Я использую много-много ссылок, как мне реализовать удаление в режиме гибернации из трех таблиц (все, что я пока знаю, это как это сделать в чистом SQL)?
- JPA поддерживает удаление записей. Если у вас установлена настройка каскадного удаления между таблицами, вам не нужно удалять их одну за другой.
В handlePicrureUpload() Я не только загружаю изображение, но и записываю изображение в теги PgSQL. Очень серьезная ошибка заключается в том, что эти действия выполняются только после завершения работы метода handlePicrureUpload().
- Вы используете неправильный оператор ИЛИ в своем
handlePicrureUpload
. Это должно быть||
-Как сделать многопоточную загрузку и обработку изображений? Как отслеживать статус каждого распознавания, отдельного контроллера, который принимает статусы из Google Cloud?
- Spring позволяет
@Async
выполнять методы асинхронно в отдельном потоке. Похоже, вы хотите выполнить какую-то очередь запросов. Для начала вы можете сохранить запрос в таблице «запрос» и вернуть идентификатор запроса для его отслеживания. Вы можете настроить@Scheduled
задание, которое считывает новые операции каждые X интервалов и процессов. Вы можете настроить конечную точку REST для возврата статуса запроса.