SpringBoot+SpringCloud+Feign 调用第三方接口,或服务接口

SpringCloud 中文文档

Maven依赖


   org.springframework.cloud
   spring-cloud-starter-openfeign

 

简单的一匹。如果你要调用的是第三方接口你可以这样写

//完整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注解

SpringBoot+SpringCloud+Feign 调用第三方接口,或服务接口_第1张图片

你可能感兴趣的:(微服务)