SpringBoot+SpringCloud+Feign 调用第三方接口,或服务接口
SpringCloud
Maven依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
简单的一匹。如果你要调用的是第三方接口你可以这样写
//完整url=https://test.cn/user/auth?token= //然后再自己控制器里面调用此接口就完成了 @FeignClient(name = "test", url = "https://test.cn") public interface FeignService { @RequestMapping(method = RequestMethod.POST, value = "/user/auth",consumes = "application/x-www-form-urlencoded;charset=UTF-8") String ssoCheck(String token); }
如果是调用自己Eureka上服务的接口,也简单的一匹
//服务名=serviceid,也就是你需要调用接口的服务名 //调用方 //然后你在你自己的控制器里面调用此接口。就完成了一次使用feign调用 @FeignClient(value="被调用方的服务名") public interface UserAuthService { @RequestMapping(method = RequestMethod.GET, value = "/user/auth") String userAuth(@RequestParam(name="ticket") String ticket); } @RestController public class UserAuthController { @Autowired UserAuthService userAuthService ; @GetMapping("/user/auth") public Result userAuth(String ticket){ String rs = userAuthService.userAuth(ticket); return Result.ok(rs); } }
当然不管调用第三方或者是Eureka上的api都得在启动类上加上@EnableFeignClients注解
下一篇:
微服务设计的六大原则