配置文件application.properties
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/
server.port=9004
spring.application.name=service-feign
启动类代码如下:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class FeginClientStarter {
public static void main(String[] args) {
SpringApplication.run(FeginClientStarter.class, args);
}
}
控制层示例:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.jt.service.HiService;
@Controller
public class HiController {
@Autowired
private HiService service;
@RequestMapping("hi")
@ResponseBody
public String sayHi(String name){
String hi=service.sayHi(name);
return hi;
}
}
引入Zuul:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ZullController {
@RequestMapping("zuul")
@ResponseBody
public String getName(String name){
return "hi,"+name+",i am from feign";
}
}
Service层代码示例:
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient("service-hi")
public interface HiService {
//template.getObject(url,String.class)
//http://service-hi/hi?name=名字
@RequestMapping(value="/hi",method=RequestMethod.GET)
public String sayHi(@RequestParam(value="name")String name);
}
pom.xml核心配置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>