在 foodie-dev-pojo 模块中的 com.imooc.pojo.bo 包内创建 ShopcartBO 类

    1. package com.imooc.pojo.bo;
    2. /**
    3. * Created by 92578 on 2020/8/16 13:57
    4. **/
    5. public class ShopcartBO {
    6. private String itemId;
    7. private String itemImgUrl;
    8. private String itemName;
    9. private String specId;
    10. private String specName;
    11. private Integer buyCounts;
    12. private String priceDiscount;
    13. private String priceNormal;
    14. public String getItemId() {
    15. return itemId;
    16. }
    17. public void setItemId(String itemId) {
    18. this.itemId = itemId;
    19. }
    20. public String getItemImgUrl() {
    21. return itemImgUrl;
    22. }
    23. public void setItemImgUrl(String itemImgUrl) {
    24. this.itemImgUrl = itemImgUrl;
    25. }
    26. public String getItemName() {
    27. return itemName;
    28. }
    29. public void setItemName(String itemName) {
    30. this.itemName = itemName;
    31. }
    32. public String getSpecId() {
    33. return specId;
    34. }
    35. public void setSpecId(String specId) {
    36. this.specId = specId;
    37. }
    38. public String getSpecName() {
    39. return specName;
    40. }
    41. public void setSpecName(String specName) {
    42. this.specName = specName;
    43. }
    44. public Integer getBuyCounts() {
    45. return buyCounts;
    46. }
    47. public void setBuyCounts(Integer buyCounts) {
    48. this.buyCounts = buyCounts;
    49. }
    50. public String getPriceDiscount() {
    51. return priceDiscount;
    52. }
    53. public void setPriceDiscount(String priceDiscount) {
    54. this.priceDiscount = priceDiscount;
    55. }
    56. public String getPriceNormal() {
    57. return priceNormal;
    58. }
    59. public void setPriceNormal(String priceNormal) {
    60. this.priceNormal = priceNormal;
    61. }
    62. @Override
    63. public String toString() {
    64. return "ShopcartBO{" +
    65. "itemId='" + itemId + '\'' +
    66. ", itemImgUrl='" + itemImgUrl + '\'' +
    67. ", itemName='" + itemName + '\'' +
    68. ", specId='" + specId + '\'' +
    69. ", specName='" + specName + '\'' +
    70. ", buyCounts=" + buyCounts +
    71. ", priceDiscount='" + priceDiscount + '\'' +
    72. ", priceNormal='" + priceNormal + '\'' +
    73. '}';
    74. }
    75. }

    在 foodie-dev-api 模块中的 com.imooc.controller 包内创建 ShopcartController 类

    package com.imooc.controller;
    
    import com.imooc.pojo.bo.ShopcartBO;
    import com.imooc.utils.IMOOCJSONResult;
    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import org.apache.commons.lang3.StringUtils;
    import org.springframework.web.bind.annotation.*;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * @author 92578
     * @since 1.0
     */
    @Api(value = "购物车接口 controller", tags = {"购物车接口相关的 api"})
    @RequestMapping("shopcart")
    @RestController
    public class ShopcartController {
    
        @ApiOperation(value = "添加商品到购物车", notes = "添加商品到购物车", httpMethod = "POST")
        @PostMapping("/add")
        public IMOOCJSONResult add(@RequestParam String userId,
                                   @RequestBody ShopcartBO shopcartBO,
                                   HttpServletRequest request,
                                   HttpServletResponse response) {
            if (StringUtils.isBlank(userId)) {
                return IMOOCJSONResult.errorMsg("");
            }
    
            System.out.println(shopcartBO);
    
            // TODO 前端用户在登录的情况下,添加商品到购物车,会同时在后端同步购物车到 redis 缓存
    
            return IMOOCJSONResult.ok();
        }
    }
    

    启动项目,打开浏览器,访问 http://localhost:8080/foodie-shop/
    登录账户“imooc”,密码“123123”
    访问 http://localhost:8080/foodie-shop/item.html?itemId=cake-1006
    挑选一些商品,将商品添加到购物车
    image.png
    打开浏览器的调试工具,查看 cookie,出现了 shopcart
    image.png
    查看 idea 控制台,发现添加的商品信息已经打印出来
    image.png