Spring Boot + Google Vision AI

问题描述

晚安!伙计们,关于我的猴子代码,我需要Java开发人员的一些建议。我正在学习Spring Boot,因此我需要制作一个应用程序,以便在使用Google AI识别对象后,可以在Vaadin上通过REST API或UI拍摄图像,结果必须保存在Pgsql +自述文件中描述的更多要求中。 md。

通常,我已经对REST进行了概述,并且可以得到现成的认可。但是我有很多问题:

  1. 我必须使用集成+单元测试来覆盖代码。我没有集成问题,但是如何为SpringBoot应用程序编写单元,是否需要涵盖每种方法
  2. 如何为oid Pgsql自动生成sql INSERT(Datagrip,DBeaver无法做到)?我要将其添加到Flyway迁移中。
  3. 我使用了许多链接,如何从三个表中实现Hibernate删除(到目前为止,我所知道的是如何在纯sql中完成此操作)?
  4. 在handlePicrureUpload()中,我不仅上传图像,还将图像写入Pgsql标记。仅在handlePicrureUpload()方法完成后才执行这些操作是一个非常严重的错误
  5. 如何进行多线程图像上传和处理?如何跟踪每个识别的状态,一个单独的控制器从Google Cloud获取状态?
  6. 如何在Vaadin中输出c / api / ai / getAiResults()表。如何在Vaadin表中显示图片以及如何在字段中安排标签列表(非常需要对其进行编辑)。

我知道Google可以提供所有这些答案,但现在我的时间有些紧张。你可以用棍子打我。

Cloud Vision documentation - https://cloud.google.com/vision/docs

感谢所有会做出回应的人!

解决方法

我必须使用集成+单元测试来覆盖代码。我没有 集成问题,但如何为SpringBoot编写单元 应用程序,是否需要涵盖每种方法?

  • 单元测试通常适用于每种方法。

我使用了许多链接,如何从中实施休眠删除 三个表(到目前为止,我只知道如何在纯SQL中执行此操作)?

  • JPA支持删除记录。如果您在表之间具有级联删除设置,则无需一一删除它们。

在handlePicrureUpload()中,我不仅上传图像,还编写 将该图像转换为PgSQL标记。如何运行这些是一个非常严重的错误 仅在handlePicrureUpload()方法完成后才能执行操作。

  • 您在handlePicrureUpload中使用了错误的OR运算符。应该是||

-如何进行多线程图像上传和处理?如何跟踪每个识别的状态,需要一个单独的控制器 来自Google Cloud的状态?

  • Spring提供了@Async以在单独的线程中异步执行方法。听起来您想对请求进行某种排队。首先,您可以将请求保存在“ request”表中,并返回一个请求ID进行跟踪。您可以设置一个@Scheduled作业,该作业在每个X间隔和每个过程读取一次新操作。您可以设置REST端点以返回请求状态。