springboot项目案例-加入商品到购物车源代码

💖💖更多项目资源,最下方联系IT实战课堂✨✨✨✨✨✨

博主拥有多年的T技术研发项目架构和教学经验,CSDN/51CTO/腾讯课堂等平台优质作者、高级讲师,培训机构联合创始人!现专注项目定制Java、小程序、前端网页、Python、App、NodeJs、PHP、微服务、NET等远程部署、售后答疑、文档编写指导等

        最近,很多同学反应,要讲解一个加入商品到购物车的案例。涉及到购物车功能的项目很多,只要是需要下单购买的,都有这个功能。

        在下面的示例中,后端使用Spring Boot框架实现了一个简单的RESTful API,通过POST请求将商品添加到购物车,通过GET请求获取购物车中的商品列表。前端使用jQuery库发送AJAX请求,并将表单数据以JSON格式发送到后端。在添加商品到购物车成功后,前端弹出一个提示框。

        后端代码:

@RestController
public class CartController {
    @Autowired
    private CartService cartService;

    @PostMapping("/cart/add")
    public ResponseEntity<String> addToCart(@RequestBody AddToCartRequest request) {
        cartService.addToCart(request.getUserId(), request.getProductId(), request.getQuantity());
        return ResponseEntity.ok("Product added to cart successfully.");
    }

    @GetMapping("/cart/{userId}")
    public List<CartItem> getCartItems(@PathVariable String userId) {
        return cartService.getCartItems(userId);
    }
}

@Service
public class CartService {
    @Autowired
    private CartRepository cartRepository;

    public void addToCart(String userId, String productId, int quantity) {
        CartItem cartItem = cartRepository.findByUserIdAndProductId(userId, productId);
        if (cartItem == null) {
            cartItem = new CartItem(userId, productId, quantity);
        } else {
            cartItem.setQuantity(cartItem.getQuantity() + quantity);
        }
        cartRepository.save(cartItem);
    }

    public List<CartItem> getCartItems(String userId) {
        return cartRepository.findByUserId(userId);
    }
}

@Repository
public interface CartRepository extends JpaRepository<CartItem, Long> {
    CartItem findByUserIdAndProductId(String userId, String productId);

    List<CartItem> findByUserId(String userId);
}

public class CartItem {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String userId;
    private String productId;
    private int quantity;

    public CartItem(String userId, String productId, int quantity) {
        this.userId = userId;
        this.productId = productId;
        this.quantity = quantity;
    }

    // getters and setters
}

前端代码 

<!DOCTYPE html>
<html>
<head>
    <title>Add to Cart Page</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
    <h1>Add to Cart</h1>
    <form id="addToCartForm">
        <label for="userId">User ID:</label>
        <input type="text" id="userId" name="userId"><br>

        <label for="productId">Product ID:</label>
        <input type="text" id="productId" name="productId"><br>

        <label for="quantity">Quantity:</label>
        <input type="number" id="quantity" name="quantity"><br>

        <input type="submit" value="Add to Cart">
    </form>

    <script>
        $(document).ready(function() {
            $("#addToCartForm").submit(function(event) {
                event.preventDefault();

                var formData = {
                    userId: $("#userId").val(),
                    productId: $("#productId").val(),
                    quantity: $("#quantity").val()
                };

                $.ajax({
                    url: "/cart/add",
                    type: "POST",
                    contentType: "application/json",
                    data: JSON.stringify(formData),
                    success: function(data) {
                        alert(data);
                    }
                });
            });
        });
    </script>
</body>
</html>

资料获取

💖💖更多项目资源,最下方联系我们✨✨✨IT实战课堂官网✨✨✨

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值