常德网站建设公司,装潢建筑公司网站设计,泗洪县城乡建设局网站,wordpress ftp设置方法在这个例子中#xff0c;我们将向您展示如何使用Feign客户端开发一个简单的Spring Boot Application#xff0c;以使用Weather REST服务。 Spring Boot是基于Java的框架#xff0c;可简化Web和企业应用程序的构建。 Spring Boot具有嵌入式Tomcat#xff0c;提供“启动器”… 在这个例子中我们将向您展示如何使用Feign客户端开发一个简单的Spring Boot Application以使用Weather REST服务。 Spring Boot是基于Java的框架可简化Web和企业应用程序的构建。 Spring Boot具有嵌入式Tomcat提供“启动器”依赖关系并且不需要配置XML。 Feign是由Netflix开发的用于实现REST API客户端的声明性框架。 Feign允许构建REST客户端来声明和注释接口实际实现在运行时提供。 1.项目环境 此示例将使用以下工具实现 JDK 1.8.81 IntelliJ 2018.2.2 Spring Boot 2.0.4 摇篮4.10 春云Finchley.SR1 有了这些信息让我们开始吧 2.创建一个Spring Boot应用程序 单击文件-新建-项目 创建一个Spring Boot应用程序-步骤1 选择Spring Initializr并选择适当的JDK版本。 创建一个Spring Boot应用程序-步骤2 添加组和工件名称 。 选择Gradle Project然后为您的项目输入一个版本 。 创建一个Spring Boot应用程序-步骤3 在下一个窗口中选择以下选项 核心- DevTools 网页-网页 云-云引导 创建一个Spring Boot应用程序-步骤4 选择项目的位置然后单击“ 完成”按钮。 创建一个Spring Boot应用程序-步骤5 和瞧 您有一个Spring Boot应用程序。 创建一个Spring Boot应用程序–步骤6 3.创建一个控制器并启动应用程序 创建一个名为FeignController类。 将Java类注释为Controller并实现GET方法该方法返回带有伪数据的ResponseEntity 。 之后我将使用真实信息来完成地图。 package com.example.feign.controller;RestController
public class FeignController {private final IWeatherClient weatherClient;Autowiredpublic FeignController(IWeatherClient weatherClient) {this.weatherClient weatherClient;}GetMapping(path /weather)ResponseEntityMap getWeather() {return ResponseEntity.ok(weatherClient.getWeather().getBody());}
} 使用用于部署应用程序的端口编辑文件application.properties。 server.port9090 最后运行并测试该应用程序的第一个版本。 测试应用 4.假冒客户实施 编辑build .gradle文件并包括以下依赖项 compile(org.springframework.boot:spring-boot-starter-web-services)
compile(org.springframework.cloud:spring-cloud-starter-openfeign)
compile(org.springframework.cloud:spring-cloud-starter-config) 记住运行build Gradle任务。 运行构建Gradle任务 创建一个程序包和一个接口。 它将是我们的假客户。 我将其命名为IWeatherClient 创建一个新的班级 将界面注释为FeignClient并添加一种获取天气的方法。 注释FeignClient要求您包括服务的名称和URL。 在这种情况下我选择了诸如name之类的数据并为URL使用了一个属性。 package com.example.feign.feign;FeignClient(name data, url ${feign.client.url})
public interface IWeatherClient {RequestMapping(method RequestMethod.GET)ResponseEntityMap getWeather();} 为接口添加一个实现。 如果在调用该服务时出现问题这将是一个后备。 在这种情况下我没有后备功能因此我将返回null。 package com.example.feign.feign.imp;Component
public class WeatherFallback implements IWeatherClient {Overridepublic ResponseEntitymap getWeather() {return null;}}
/map 注释主类以启用Feign客户。 注释EnableFeignClients要求您包括基本软件包。 package com.example.feign;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;SpringBootApplication
EnableFeignClients(basePackages {com.example.feign.feign,com.example.feign.controller})
public class FeignApplication {public static void main(String[] args) {SpringApplication.run(FeignApplication.class, args);}
} 最后在控制器中使用伪客户端然后再次运行该应用程序。 创建Feign客户的结果 5.结论 此项解释了如何使用Feign构建一个声明性HTTP客户端以使用Weather API。 Feign的目标是降低与HTTP APIS统一绑定分母的复杂性而不管其是否平静。 6.下载项目 下载 您可以在此处下载此示例的完整源代码 Feign示例 翻译自: https://www.javacodegeeks.com/2018/10/making-rest-communication-easy-with-feign-clients.html