Весенняя загрузка Google Vision AI

#spring #spring-boot #hibernate #spring-mvc #vaadin

#весна #весенняя загрузка #переход в спящий режим #spring-mvc #vaadin

Вопрос:

Спокойной ночи! Ребята, мне нужен совет от разработчиков Java по поводу моего кода monkey. Я изучаю Spring Boot, и мне нужно создать приложение, которое может получать изображения с помощью REST API или пользовательского интерфейса на Vaadin после распознавания объектов на нем с помощью Google AI, результат должен быть сохранен в PgSQL еще некоторые требования, описанные в README.md .

В общем, я набросал REST и могу получить готовое распознавание. Но у меня много вопросов:

  1. Я должен покрыть код интеграцией модульными тестами. У меня нет вопросов по интеграции, но как писать модули для приложений SpringBoot, нужно ли было учитывать каждый метод?
  2. Как мне автоматически сгенерировать вставку Sql для таблиц oid PgSQL (DataGrip, DBeaver не могут этого сделать)? Я хочу добавить это к миграции Flyway.
  3. Я использую много-много ссылок, как мне реализовать удаление в режиме гибернации из трех таблиц (все, что я пока знаю, это как это сделать в чистом SQL)?
  4. В handlePicrureUpload() Я не только загружаю изображение, но и записываю изображение в теги PgSQL. Очень серьезная ошибка заключается в том, что эти действия выполняются только после завершения работы метода handlePicrureUpload().
  5. Как сделать многопоточную загрузку и обработку изображений? Как отслеживать статус каждого распознавания, отдельного контроллера, который принимает статусы из Google Cloud?
  6. Как вывести таблицу 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 для возврата статуса запроса.