不确定在我的 Spring MVC 应用程序中在哪里进行外部 API 调用
Not sure where to make external API calls in my Spring MVC application
首先是免责声明——我对编程还很陌生。这个项目或多或少是一个顶点,我们正在 Spring 引导框架(Java 语言,Thymeleaf 视图)中工作。
我的程序的总体要点是这样的:用户填写表单,这些参数用于调用 Yelp Fusion API。
我花了很多时间弄清楚 如何 进行 API 调用,而忽略了 在哪里 [=25] =] 去做。它目前在我的控制器 class 中,但现在我不太确定这是否是最好的主意——也许它应该放在模型甚至 DTO 中?我很感激任何见解,因为一般的互联网似乎是矛盾的。
Here's the link to the repository on GitHub 如果有帮助的话。
谢谢!
最好在服务层为API进行任何客户端调用或编写业务逻辑。
在您的情况下,您可以创建一个服务包并创建一些在您的控制器中自动装配的接口 YelpClientCallService.java
,以及实现 YelpClientCallService.java
界面。现在,您可以从这个 class 调用客户端 API,然后对收到的响应执行业务逻辑,或者您可以只 return 对控制器的响应。
您还可以将服务 class 注释为 @Service
而不是 @Component
。
它只是 @Component
的一个特殊名称,将有助于 class 化。
有关 Springboot 中包结构的更多详细信息,您可以查看以下资源。
首先是免责声明——我对编程还很陌生。这个项目或多或少是一个顶点,我们正在 Spring 引导框架(Java 语言,Thymeleaf 视图)中工作。
我的程序的总体要点是这样的:用户填写表单,这些参数用于调用 Yelp Fusion API。
我花了很多时间弄清楚 如何 进行 API 调用,而忽略了 在哪里 [=25] =] 去做。它目前在我的控制器 class 中,但现在我不太确定这是否是最好的主意——也许它应该放在模型甚至 DTO 中?我很感激任何见解,因为一般的互联网似乎是矛盾的。
Here's the link to the repository on GitHub 如果有帮助的话。
谢谢!
最好在服务层为API进行任何客户端调用或编写业务逻辑。
在您的情况下,您可以创建一个服务包并创建一些在您的控制器中自动装配的接口 YelpClientCallService.java
,以及实现 YelpClientCallService.java
界面。现在,您可以从这个 class 调用客户端 API,然后对收到的响应执行业务逻辑,或者您可以只 return 对控制器的响应。
您还可以将服务 class 注释为 @Service
而不是 @Component
。
它只是 @Component
的一个特殊名称,将有助于 class 化。
有关 Springboot 中包结构的更多详细信息,您可以查看以下资源。