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下一部分♥