您的位置:首页 > 编程语言 > Java开发

利用SpringCloud搭建微服务4——服务调用组件Fegin的使用,引入API网关治理组件Zuul

2019-01-05 09:07 1876 查看

配置文件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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: