Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不确定在我的Spring MVC应用程序中在哪里进行外部API调用_Java_Spring Boot_Spring Mvc_Yelp Fusion Api - Fatal编程技术网

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

Java 不确定在我的Spring MVC应用程序中在哪里进行外部API调用,java,spring-boot,spring-mvc,yelp-fusion-api,Java,Spring Boot,Spring Mvc,Yelp Fusion Api,首先是免责声明——我对编程非常陌生。这个项目或多或少是一个顶点,我们正在Spring引导框架Java语言Thymeleaf视图中工作 我的程序的总体要点是:用户填写表单,这些参数用于调用Yelp Fusion API 我花了很多时间来弄清楚如何进行API调用,却忽略了考虑在哪里进行调用。它目前在我的控制器类中,但现在我不太确定这是不是最好的主意——也许它应该放在模型中,甚至是DTO中?我很欣赏任何见解,因为一般的互联网似乎是矛盾的 如果有帮助的话 谢谢 最好在服务层为API进行任何客户端调用或编

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

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

我花了很多时间来弄清楚如何进行API调用,却忽略了考虑在哪里进行调用。它目前在我的控制器类中,但现在我不太确定这是不是最好的主意——也许它应该放在模型中,甚至是DTO中?我很欣赏任何见解,因为一般的互联网似乎是矛盾的

如果有帮助的话


谢谢

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

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

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

Spring:它具有所遵循的基本包结构。 这种媒介还可以很好地理解项目结构和最佳实践的其他方面。
嗨&欢迎来到!怎样因为您在stack restTemplate中有springboot sterter web!谷歌,贝尔东,…同步!哪里为了简单起见,您可以在controller@autowiredrestemplate中执行此操作。。。还有火!。。。在一个更精细的体系结构中,您将拥有一些分离的服务层…和web客户端,如果您想异步/反应式地实现它,…一般来说,web控制器的职责是充当面向外部的HTTP API和应用程序内部之间的接口,应该用业务术语表示,通常是接口和实现类。您可能会有一个类似于接口SearchService的东西,通过构造函数参数将其注入控制器,并且YelpFusionSearch类实现SearchService。