9、买家商品api(上)

本文介绍了如何构建买家商品的RESTful API。首先新建了BuyerProductController并将其返回数据放在VO包下的ResultVO类。接着,配置了服务器访问的context-path,并测试了API。然后,为满足前端数据格式需求,创建了ProductVO类,进一步完善了food数据结构,用ProductInfoVO类来表示。最后进行了测试,展示了买家商品API的第一部分内容。
摘要由CSDN通过智能技术生成

9、买家商品api(上)

前言:这是后台需要返回给前端的json字段格式:

(1)新建一个controller包,并且新建BuyerProductController(买家商品类)
在这里插入图片描述
由于这个类返回的数据是接送格式,所以我将所有返回的数据放在一个文件夹vo下

(2)接下来新建一个vo包,并且新建一个ResultVO类

package com.yummy.sell.vo;

import lombok.Data;

/**
 * http请求返回的最外层对象
 * @author LYM
 * @date 2021/3/4 14:56
 */

@Data
public class ResultVO <T>{
    //错误码
    private Integer code;
    //提示信息
    private String msg;
    //具体内容
    private T data;
}

(3)创建好之后我们回到BuyerProductController测试一下

package com.yummy.sell.controller;

import com.yummy.sell.vo.ResultVO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 买家商品
 * 返回的是json格式
 * 测试一下
 * @author LYM
 * @date 2021/3/4 14:50
 */
@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {

    @GetMapping("list")
    public ResultVO list(){

        ResultVO resultVO=new ResultVO ();

        resultVO.setCode (0);
        resultVO.setMsg ("成功!");

        return resultVO;
    }
}

说明一下我们需要到我们的配置文件设置一下服务器访问的context-path。如下图:

在这里插入图片描述
OK!那我们现在来测试一下!

在这里插入图片描述
运行成功!接着我们来访问一下api
http://127.0.0.1:8080/sell/buyer/product/list
在这里插入图片描述
(4)根据需要返回个前端的数据格式,我们接着构建我们返回数据的json格式

  • 在vo包中新建ProductVO类
package com.yummy.sell.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

/**
 * 商品(包含类目)
 * http请求返回的最外层对象
 * @author LYM
 * @date 2021/3/4 15:10
 */
@Data
public class ProductVO {
    @JsonProperty("name")
    private String categoryName;
    @JsonProperty("type")
    private Integer categoryType;
    @JsonProperty("food")
    private List<ProductInfoVO> productInfoVOList;

}

  • 回到我们的controller层中修改BuyerProductController类如下
package com.yummy.sell.controller;

import com.yummy.sell.vo.ProductVO;
import com.yummy.sell.vo.ResultVO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;

/**
 * 买家商品
 * 返回的是json格式
 * 测试一下
 * @author LYM
 * @date 2021/3/4 14:50
 */
@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {

    @GetMapping("list")
    public ResultVO list(){

        ResultVO resultVO=new ResultVO ();
        ProductVO productVO=new ProductVO ();
        resultVO.setCode (0);
        resultVO.setMsg ("成功!");
        resultVO.setData (Arrays.asList (productVO));

        return resultVO;
    }
}

  • 运行测试

在这里插入图片描述
(5)接着我们需要完善food的数据结构

  • 在vo包中新建ProductInfoVO类
package com.yummy.sell.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 商品详情
 * @author LYM
 * @date 2021/3/4 15:10
 */
@Data
public class ProductInfoVO {
    @JsonProperty("id")
    private String productId;
    @JsonProperty("name")
    private String productName;
    @JsonProperty("price")
    private BigDecimal productPrice;
    @JsonProperty("description")
    private String productDescription;
    @JsonProperty("icon")
    private String productIcon;

}

  • 修改BuyerProductController类中的信息
package com.yummy.sell.controller;

import com.yummy.sell.vo.ProductInfoVO;
import com.yummy.sell.vo.ProductVO;
import com.yummy.sell.vo.ResultVO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;

/**
 * 买家商品
 * 返回的是json格式
 * 测试一下
 * @author LYM
 * @date 2021/3/4 14:50
 */
@RestController
@RequestMapping("/buyer/product")
public class BuyerProductController {

    @GetMapping("list")
    public ResultVO list(){

        ResultVO resultVO=new ResultVO ();
        ProductVO productVO=new ProductVO ();
        ProductInfoVO productInfoVO=new ProductInfoVO ();
        productVO.setProductInfoVOList (Arrays.asList (productInfoVO));

        resultVO.setCode (0);
        resultVO.setMsg ("成功!");
        resultVO.setData (Arrays.asList (productVO));

        return resultVO;
    }
}

  • 最后运行测试
    在这里插入图片描述
    今天就和大家分享到这里啦!接下来回会大家一起分享买家商品api下一部分♥
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值