您当前的位置: 首页 >  spring

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SpringCloud基础之部门服务消费者

java持续实践 发布时间:2018-10-16 21:10:44 ,浏览量:1

SpringCloud基础之部门服务消费者

文章目录
      • SpringCloud基础之部门服务消费者
        • 创建一个子module
        • 编写pom文件
        • 编写yml文件
        • 创建Controller消费层
        • 启动项目进行测试

创建一个子module

创建模块工程microservicecloud-consumer-dept-80,打包方式为jar包

编写pom文件

  4.0.0
  
    com.thc.springcloud
    mircroservicecloud
    0.0.1-SNAPSHOT
  
  microservicecloud-consumer-dept-80
  
  部门微服务消费者

	
		
		  
			com.thc.springcloud
		    mircroservicecloud-api
			${project.version}
		    
		
		
			org.springframework.cloud
			spring-cloud-starter-eureka
		
		
			org.springframework.cloud
			spring-cloud-starter-ribbon
		
		
			org.springframework.cloud
			spring-cloud-starter-config
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
		
			org.springframework
			springloaded
		
		
			org.springframework.boot
			spring-boot-devtools
		
	

编写yml文件

在classpath的resource目录下新建application.yml文件

server: 
  port: 80

####创建ConfigBean 使用RestTemplate 来调用消费者工程

package com.thc.springcloud.cfgbeans;
@Configuration
public class ConfigBean {
	@Bean
	public RestTemplate getRestTemplate(){
		return new RestTemplate();
	}
}
创建Controller消费层

由于该工程为消费层,只用消费,不用生产, 因此没有service dao层

@RestController
public class DeptController_Consumer {
	
	private static final String REST_URL_PREFIX="http://localhost:8001";
	/**
	 * 使用 使用restTemplate三个参数的含义
	 *  (url,requestMap,ResponseBean.class)这三个参数分别代表
	 *  REST请求地址、请求参数、HTTP响应转换被转换成的对象类型。
	 */
	@Autowired
	private RestTemplate restTemplate;
	
	//添加部门信息,访问的映射为/consumer/dept/add
	@RequestMapping(value="/consumer/dept/add")
	public boolean add(Dept dept){
	//第一个参数代表请求消费者工程的地址http://localhost:8001/dept/add
	//第二个参数代表请求参数.
	//第三个参数代表响应的数据 
		return restTemplate.postForObject(REST_URL_PREFIX+"/dept/add",dept, boolean.class);
	}
	
	//通过部门的id,获取一个部门的信息 
	@RequestMapping(value="/consumer/dept/get/{id}")
	public Dept get(@PathVariable("id")Long id ){
		//get请求, 返回一个Dept对象
		return restTemplate.getForObject(REST_URL_PREFIX+"/dept/get/"+id, Dept.class);
	}
	
	//返回所有的部门集合
	@SuppressWarnings("unchecked")
	@RequestMapping(value="/consumer/dept/list")
	public List list (){
		//get请求 . 返回一个list集合
		return restTemplate.getForObject(REST_URL_PREFIX+"/dept/list", List.class);
	}
}

####编写启动类

package com.thc.springcloud;
@SpringBootApplication
public class DeptConsumer80_App {
	public static void main(String[] args) {
		SpringApplication.run(DeptConsumer80_App.class, args);
	}
}
启动项目进行测试

运行上一步的启动类即可启动项目. 同时把生产者工程也进行启动. 在浏览器上输入如下的地址,即获取部门id为1的json信息 http://localhost/consumer/dept/get/1 返回的json如下 在浏览器中输入如下,获取所有的部门信息 http://localhost/consumer/dept/list 返回的如下的json 在浏览器中输入如下的地址实际上是转码过了的 http://localhost/consumer/dept/add?dname=%E7%94%B5%E5%8A%9B%E9%83%A8&db_source=clouddb01 浏览器返回了如下的true,代表插入数据成功 再次查询数据, 可以看到有电力部门

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0426s