在我们开发的过程中会经常调用第三方http接口,经常会使用自己封装的http调用工具类,并且调用的地方比较多导致代码比较乱,代码不好管理!难道我们就没有好的工具类来处理http的接口吗?我的回答:肯定是有的啊!下面,我们就说一种我们比较常用的工具fegin。废话我们也不多说了,直接上代码!
引入jar包是必不可少的。
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>2.1.1.RELEASE</version> </dependency>
启动类:
package com.demo.member;
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication @EnableFeignClients public class FeignApplication {
public static void main(String[] args) { SpringApplication.run(FeignApplication .class, args); } }
调用第三方接口的类:
package com.demo.member;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody;
@FeignClient(name = "feign-service", url = "http://www.baidu.com") public interface FeingnDemo { @RequestMapping(value = "/", method = RequestMethod.GET) @ResponseBody String feignString(); }
我的测试接口:
package com.demo.member;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;
@RestController @RequestMapping("/") public class FeignController { @Autowired FeignDemo feignDemo; @RequestMapping(method=RequestMethod.GET) public String get(){ System.out.println(feingnDemo.feignString()); return "sdfdf"; } }
代码全在这里,有问题请留言!