不确定在我的SpringMVC应用程序中在哪里进行外部API调用



首先是免责声明——我对编程非常陌生。这个项目或多或少是一个顶点,我们在Spring Boot框架(Java语言,Thymelaf视图(中工作。

我的程序的总体要点是:用户填写一个表单,这些参数用于调用YelpFusionneneneba API。

我花了很多时间弄清楚如何进行API调用,但有点忽略了在哪里调用。它目前在我的Controller类中,但现在我不太确定这是否是最好的主意-也许它应该在Model甚至DTO中?如果有任何见解,我将不胜感激,因为一般的互联网似乎是矛盾的。

如果有帮助的话,下面是GitHub上存储库的链接。

谢谢!

最好在服务层中为API进行任何客户端调用或编写业务逻辑。

在您的情况下,您可以创建一个服务包,并创建一些在控制器中自动连接的接口YelpClientCallService.java,以及实现YelpClientCallService.java接口的类YelpClientCallServiceImpl.java。现在,您可以从这个类调用客户端API,然后对接收到的响应执行业务逻辑,也可以直接将响应返回给控制器。

您也可以将服务类注释为@Service而不是@Component。它只是@Component的一个特殊名称,有助于分类。有关Springboot中包结构的更多详细信息,您可以查看以下资源。

  1. Spring文档:它具有以下基本的包结构
  2. 这个媒介博客也可以很好地理解项目结构和最佳实践的其他方面

最新更新