json请求的数据

来源:5-4 买家商品-api(下)

Genius_Wang

2022-01-01

发不了图片,

我的代码如下

package com.example.controller;

import com.example.VO.ProductInfoVO;
import com.example.VO.ProductVO;
import com.example.VO.ResultVO;
import com.example.dataobject.ProductCategory;
import com.example.dataobject.ProductInfo;
import com.example.service.CategoryService;
import com.example.service.ProductService;
import com.example.utils.ResultVOUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 买家商品
 */
@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {
    @Autowired
    private ProductService productService;

    @Autowired
    private CategoryService categoryService;


    @GetMapping("/list")
    public ResultVO list(){
        //1.查询所有的上架商品
        List<ProductInfo> productInfoList = productService.findUpAll();

        //2.查询类目(一次性查询)
//        List<Integer> categoryTypeList = new ArrayList<>();
        //传统方法
//        for (ProductInfo productInfo : productInfo List) {
//            categoryTypeList.add(productInfo.getCategoryType());
//        }
        //精简方法(java8,lambda)
        List<Integer> categoryTypeList = productInfoList.stream()
                .map(e -> e.getCategoryType())
                .collect(Collectors.toList());
        List<ProductCategory> productCategoryList = categoryService.findByCategoryTypeIn(categoryTypeList);

        //3.数据拼装
        List<ProductVO> productVOList = new ArrayList<>();
        for (ProductCategory productCategory : productCategoryList) {
            ProductVO productVO = new ProductVO();
            productVO.setCategoryType(productCategory.getCategoryType());
            productVO.setCategoryName(productCategory.getCategoryName());

            List<ProductInfoVO> productInfoVOList = new ArrayList<>();
            for (ProductInfo  productInfo : productInfoList) {
                if (productInfo.getCategoryType().equals(productCategory.getCategoryType())){
                    ProductInfoVO productInfoVO = new ProductInfoVO();
                    BeanUtils.copyProperties(productInfo,productInfoVO);
                    productInfoVOList.add(productInfoVO);
                }
            }
            productVO.setProductInfoVOList(productInfoVOList);
            productVOList.add(productVO);
        }

//        return ResultVOUtil.success(productVOList);
        ResultVO resultVO = new ResultVO();

        resultVO.setData(productVOList);
        resultVO.setCode(0);
        resultVO.setMsg("成功");

        return resultVO;
    }

输出框:
图片描述
网页显示没有数据。

图片描述

希望有好心人能解决。

写回答

2回答

廖师兄

2022-01-25

和这个问题是一样的。打断点观察。

https://coding.imooc.com/learn/questiondetail/AKpB2PJAkZV6bv0E.html

0
0

Genius_Wang

提问者

2022-01-03

三天了,还是查不到,以为是代码出问题了,花了几个小时从头到尾又写了一遍,还是查不到数据,离奇的是就是写了5-4,11分钟左右的代码,突然就查不到数据了

0
3
U_up
应该是你product_info表中的category_id和product_category表中的id不相等,所以查不到data数据
2023-03-14
共3条回复

Spring Boot双版本(1.5/2.1) 打造企业级微信点餐系统

从0到1开发中小型企业级Java应用,并学会迭代重构技巧

6410 学习 · 5247 问题

查看课程