美文网首页
尚学堂107天总结+Feign

尚学堂107天总结+Feign

作者: 人间草木为伴 | 来源:发表于2019-12-05 22:58 被阅读0次

107天
行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力,每天都要勤思考+善于询问+解决问题!

知识温故而知新>>>>>>

今天学到的知识>>>>>>

1. 什么是Feign及作用

image
  1. Feign入门案例-创建product-service

    1. 创建服务的API项目。

    2. 修改POM文件添加相关依赖坐标。

    3. 编写查询所有商品的接口。

  2. Feign入门案例-创建product-provider

    1. 创建实现服务API的Provider。

    2. 修改POM文件添加相关依赖坐标。

    3. 修改POM文件添加服务API项目的坐标。

    4. 修改POM文件添加服务API项目的坐标。

    5. 创建Controller实现服务API的接口,并实现接口中的抽象方法。

Gzip介绍及Http协议中的传输规则

  1. 什么是Gzip?
    gzip 是一种数据格式,采用用 deflate 算法压缩 data;gzip 是一种流行的文件 压缩算法,应用十分广泛,尤其是在 Linux 平台。 gzip 能力:当 Gzip 压缩到一个纯文本文件时,效果是非常明显的,大约可以减少 70%以上的文件大小。 gzip 作用:网络数据经过压缩后实际上降低了网络传输的字节数,最明显的好处就是可 以加快网页加载的速度。网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏 览体验外,另一个潜在的好处是 Gzip 与搜索引擎的抓取工具有着更好的关系。例如 Google 就可以通过直接读取 gzip 文件来比普通手工抓取 更快地检索网页。

HTTP协议中关于压缩传输的规定是什么?

image

Http的背景原理是什么?

image

Http优化解决方案有哪些?

image

配置Feign负载均衡请求超时时间分为几种方式?

全局配置

image

局部配置

image

习题的情况总结>>>>>>

传递一个参数

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;
    }
}

相关文章

网友评论

      本文标题:尚学堂107天总结+Feign

      本文链接:https://www.haomeiwen.com/subject/ldrdgctx.html