如何在 Spring Boot 中调用或使用外部 API?
Spring Boot 建立在 spring 之上,包含了 spring 的所有特性。并且现在正成为开发人员的最爱,因为它是一个快速的生产就绪环境,使开发人员能够直接专注于逻辑,而不是在配置和设置上苦苦挣扎。 Spring Boot 是一个基于微服务的框架,在其中制作一个生产就绪的应用程序只需要很少的时间。在这里,我们将学习如何创建一个使用外部 API 的 Spring Boot 应用程序。在本课程中,我们将经历以下阶段:
程序:
- 创建 Spring Boot 项目。
- 创建 Rest 控制器并映射 API 请求。
- 构建并运行项目。
- 调用外部 API 服务并对其进行测试。
现在让我们在视觉辅助的帮助下自动化每一步细节,以便
第 1 步:创建 Spring Boot 项目
首先,访问网站并创建一个spring boot项目。您也可以使用 Dependencies 部分添加另一个依赖项。这里我们不需要任何额外的依赖。
Remember: One can download the spring boot project by clicking on Generate tab.
下载项目后,将其导入 Eclipse IDE,示例将如下所示:
Note: pom.xml contains all the dependencies which are needed for your projects and will look like as given below:
第 2 步:创建 Rest Controllers 和 map API 要求
现在,让我们在 Rest Controller 类中创建一个示例 rest API 调用。此调用将简单地返回“Hello world”作为输出。我们将使用这个 API 并在我们的同一个应用程序中调用它。
第 3 步:构建并运行项目
我们可以通过启动 spring boot 应用程序来检查输出。
现在打开邮递员并按照指定的方式发送对 URL 的 GET 请求: http://localhost:8080/hello
我们的示例“hello”API 服务正在本地主机:8080 上运行。现在我们将看到如何使用 Rest 模板调用此服务。
第 4 步:调用外部 API 服务并进行测试
在调用外部 API 之前,请务必确保,首先,我们将看到下面描述的 Rest 模板是什么:
Rest 模板是用于创建使用 RESTful Web 服务的应用程序的中央 Spring 类。您可以使用 Rest Template 类中可用的方法来使用所有 HTTP 方法的 Web 服务。
- 在这里,我们将 GetMapping 指定为“callclienthello”,以便在该扩展上可以使用外部呼叫。
- 接下来,定义可以访问您的服务的客户端 URI。
- 创建 Rest Template 对象,然后使用getForObject方法可以调用定义的服务。
- 现在我们的“hello”服务也将在扩展“callclienthello”上可用。
- 让我们测试一下,生成的输出如下:
如您所见,我们获得的输出与示例“hello”API 调用所获得的输出相同。现在让我们看另一个示例,在该示例中我们将调用可通过 Internet 访问的外部 API。例如“https://restcountries.eu/rest/v2/all”。如果我们现在发送对给定国家 API 的请求,那么它将返回国家列表,然后我们将从 Postman 进行测试,如下面的媒体所示
现在,我们将从我们的 Spring Boot 应用程序中调用这个国家 API。
在这里,我将 Get Mapping 指定为“国家/地区”,以便我们可以使用该扩展名进行外部呼叫。我们已经定义了一个外部 API,我们想用它在 URL 中进行调用。让我们通过发送请求来查看 postman 中的输出:
正如您在此处看到的,国家 API 即“https://restcountries.eu/rest/v2/all”,现在可在扩展“国家”上使用。通过这种方式,您可以使用 Spring Rest Template 类调用外部 API 服务。