107天
行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力,每天都要勤思考+善于询问+解决问题!
知识温故而知新>>>>>>
今天学到的知识>>>>>>
1. 什么是Feign及作用
-
Feign入门案例-创建product-service
-
创建服务的API项目。
-
修改POM文件添加相关依赖坐标。
-
编写查询所有商品的接口。
-
-
Feign入门案例-创建product-provider
-
创建实现服务API的Provider。
-
修改POM文件添加相关依赖坐标。
-
修改POM文件添加服务API项目的坐标。
-
修改POM文件添加服务API项目的坐标。
-
创建Controller实现服务API的接口,并实现接口中的抽象方法。
-
Gzip介绍及Http协议中的传输规则
- 什么是Gzip?
gzip 是一种数据格式,采用用 deflate 算法压缩 data;gzip 是一种流行的文件 压缩算法,应用十分广泛,尤其是在 Linux 平台。 gzip 能力:当 Gzip 压缩到一个纯文本文件时,效果是非常明显的,大约可以减少 70%以上的文件大小。 gzip 作用:网络数据经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可 以加快网页加载的速度。网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏 览体验外,另一个潜在的好处是 Gzip 与搜索引擎的抓取工具有着更好的关系。例如 Google 就可以通过直接读取 gzip 文件来比普通手工抓取 更快地检索网页。
HTTP协议中关于压缩传输的规定是什么?
Http的背景原理是什么?
Http优化解决方案有哪些?
配置Feign负载均衡请求超时时间分为几种方式?
全局配置
局部配置
习题的情况总结>>>>>>
传递一个参数
consumer.controller
/**
* Product Consumer 服务
* @author Administrator
*
*/
@RestController
public class ProductController {
@Autowired
ProductConsumerService consumerservice;
/**
* Consumer中的查询所有商品的方法
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public List<Product> getAll(){
return this.consumerservice.findAll();
}
/**
* Consumer中根据商品id查询商品
*/
@RequestMapping(value="/get",method=RequestMethod.GET)
public Product getProduct(@RequestParam("id") Integer id){
return this.consumerservice.getProductById(id);
}
}
com.bjsxt.product.controller
/**
* Product-Provider服务
* @author Administrator
*
*/
@RestController
public class ProductController implements ProductService {
@Override
public List<Product> findAll() {
List<Product> list = new ArrayList<>();
list.add(new Product(1, "电视"));
list.add(new Product(2, "电脑"));
list.add(new Product(3, "冰箱"));
list.add(new Product(4, "手电筒"));
return list;
}
@Override
public Product getProductById(Integer id) {
return new Product(id, "SpringCloud");
}
}
传递多个参数,使用GET方式
ego.consumer.controller
/**
* Product Consumer 服务
* @author Administrator
*
*/
@RestController
public class ProductController {
@Autowired
ProductConsumerService consumerservice;
/**
* Consumer中的查询所有商品的方法
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public List<Product> getAll(){
return this.consumerservice.findAll();
}
/**
* Consumer中根据商品id查询商品
*/
@RequestMapping(value="/get",method=RequestMethod.GET)
public Product getProduct(@RequestParam("id") Integer id){
return this.consumerservice.getProductById(id);
}
/**
* 商品添加 传递多个参数。方式一:GET
*/
@RequestMapping(value="/add",method=RequestMethod.GET)
public Product addProduct(Product product){
return this.consumerservice.addProduct(product.getId(), product.getName());
}
}
product.controller
/**
* Product-Provider服务
* @author Administrator
*
*/
@RestController
public class ProductController implements ProductService {
@Override
public List<Product> findAll() {
List<Product> list = new ArrayList<>();
list.add(new Product(1, "电视"));
list.add(new Product(2, "电脑"));
list.add(new Product(3, "冰箱"));
list.add(new Product(4, "手电筒"));
return list;
}
@Override
public Product getProductById(Integer id) {
return new Product(id, "SpringCloud");
}
@Override
public Product addProduct(Integer id, String name) {
return new Product(id, name);
}
}
传递多个参数使用post方式
consumer.controller
/**
* Product Consumer 服务
* @author Administrator
*
*/
@RestController
public class ProductController {
@Autowired
ProductConsumerService consumerservice;
/**
* Consumer中的查询所有商品的方法
* @return
*/
@RequestMapping(value="/list",method=RequestMethod.GET)
public List<Product> getAll(){
return this.consumerservice.findAll();
}
/**
* Consumer中根据商品id查询商品
*/
@RequestMapping(value="/get",method=RequestMethod.GET)
public Product getProduct(@RequestParam("id") Integer id){
return this.consumerservice.getProductById(id);
}
/**
* 商品添加 传递多个参数。方式一:GET
*/
@RequestMapping(value="/add",method=RequestMethod.GET)
public Product addProduct(Product product){
return this.consumerservice.addProduct(product.getId(), product.getName());
}
/**
* 商品添加 传递多个参数。方式二:POST
*/
@RequestMapping(value="/add2",method=RequestMethod.GET)
public Product addProduct2(Product product){
return this.consumerservice.addProduct2(product);
}
}
product.controller
/**
* Product-Provider服务
* @author Administrator
*
*/
@RestController
public class ProductController implements ProductService {
@Override
public List<Product> findAll() {
List<Product> list = new ArrayList<>();
list.add(new Product(1, "电视"));
list.add(new Product(2, "电脑"));
list.add(new Product(3, "冰箱"));
list.add(new Product(4, "手电筒"));
return list;
}
@Override
public Product getProductById(Integer id) {
return new Product(id, "SpringCloud");
}
@Override
public Product addProduct(Integer id, String name) {
return new Product(id, name);
}
@Override
public Product addProduct2(@RequestBody Product product) {
return product;
}
}
网友评论