在我们开发的过程中会经常调用第三方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";
}
}
代码全在这里,有问题请留言!