服务接口调用实战

订单项目调用会员服务实战

     
          org.springframework.cloud
          spring-cloud-starter-openfeign
     
package com.springcloudtest.order.api.service;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;

@FeignClient("app-member")
public interface MemberService {
    @RequestMapping("/geteMember")
    public String getMember();
}

package com.springcloudtest.order.api;

import com.springcloudtest.order.api.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class OrderController {

    @Autowired
    private RestTemplate restTemplate;

    @Autowired
    private MemberService memberService;

    @RequestMapping("/getOrder")
    public String getOrder() {
       // return restTemplate.getForObject("http://APP-MEMBER/geteMember", String.class);
        return memberService.getMember();
    }
}

package com.springcloudtest.order;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class OrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }

    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }

}

你可能感兴趣的:(服务接口调用实战)