首先是免责声明——我对编程非常陌生。这个项目或多或少是一个顶点,我们在Spring Boot框架(Java语言,Thymelaf视图(中工作。
我的程序的总体要点是:用户填写一个表单,这些参数用于调用YelpFusionneneneba API。
我花了很多时间弄清楚如何进行API调用,但有点忽略了在哪里调用。它目前在我的Controller类中,但现在我不太确定这是否是最好的主意-也许它应该在Model甚至DTO中?如果有任何见解,我将不胜感激,因为一般的互联网似乎是矛盾的。
如果有帮助的话,下面是GitHub上存储库的链接。
谢谢!
最好在服务层中为API进行任何客户端调用或编写业务逻辑。
在您的情况下,您可以创建一个服务包,并创建一些在控制器中自动连接的接口YelpClientCallService.java
,以及实现YelpClientCallService.java
接口的类YelpClientCallServiceImpl.java
。现在,您可以从这个类调用客户端API,然后对接收到的响应执行业务逻辑,也可以直接将响应返回给控制器。
您也可以将服务类注释为@Service
而不是@Component
。它只是@Component
的一个特殊名称,有助于分类。有关Springboot中包结构的更多详细信息,您可以查看以下资源。
- Spring文档:它具有以下基本的包结构
- 这个媒介博客也可以很好地理解项目结构和最佳实践的其他方面