OpenFeign調用服務響應處理


直接響應

 @GetMapping("/test5")
    public Product test5(){
        return new Product(1,"product",23);
    }

 @GetMapping("/test5")
    public Product test5();

@GetMapping("/category")
    public Product index(){
        log.info("通過使用OpenFeign組件調用商品服務...");
        Product product = productClient.test5();
        log.info("product {}", product);
        return product;
    }

集合相應

    @GetMapping("/page/{id}")
    public Map<String, Object> page(@PathVariable("id") Integer id){
        Map<String, Object> map = new HashMap<>();
        List<Product> products = new ArrayList<>();
        products.add(new Product(1,"product1",21));
        products.add(new Product(2,"product2",22));
        products.add(new Product(3,"product3",23));
        map.put("total",101);
        map.put("products", products);
        return map;
    }

    @GetMapping("/page/{id}")
    public String page(@PathVariable("id") Integer id);

    引入fastjson依賴
    @GetMapping("/category")
    public String index(){
        log.info("通過使用OpenFeign組件調用商品服務...");
        String page = productClient.page(1);
        JSONObject jsonObject = JSONObject.parseObject(page);
        Object total = jsonObject.get("total");
        log.info("總條數 {}", total);
        Object products = jsonObject.get("products");
        List<Product> productList = JSONObject.parseArray(products.toString(), Product.class);
        productList.forEach(System.out::println);
        return page;
    }

**雖然productcontroller返回的是map集合,但是類上加@RestController注解返回的就是json字符串,**
**再用feginclient返回String,使用fastjson解析就可以避免map里的products集合無法轉換的問題**


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM