springboot商场购物车多选接口完整代码
时间: 2023-08-14 20:51:23 浏览: 79
以下是一个简单的 Spring Boot 商场购物车多选接口的示例代码:
1. CartController.java
```
@RestController
@RequestMapping("/cart")
public class CartController {
@Autowired
private CartService cartService;
@PostMapping("/add")
public void addToCart(@RequestBody CartItem cartItem) {
cartService.addToCart(cartItem);
}
@PostMapping("/update")
public void updateCartItem(@RequestBody CartItem cartItem) {
cartService.updateCartItem(cartItem);
}
@PostMapping("/remove")
public void removeFromCart(@RequestParam("productId") Long productId) {
cartService.removeFromCart(productId);
}
@PostMapping("/clear")
public void clearCart() {
cartService.clearCart();
}
@GetMapping("/items")
public List<CartItem> getCartItems() {
return cartService.getCartItems();
}
}
```
2. CartItem.java
```
public class CartItem {
private Long productId;
private String productName;
private BigDecimal price;
private Integer quantity;
private Boolean selected;
// getters and setters omitted for brevity
}
```
3. CartService.java
```
@Service
public class CartService {
private List<CartItem> cartItems = new ArrayList<>();
public void addToCart(CartItem cartItem) {
for (CartItem item : cartItems) {
if (item.getProductId().equals(cartItem.getProductId())) {
item.setQuantity(item.getQuantity() + cartItem.getQuantity());
return;
}
}
cartItems.add(cartItem);
}
public void updateCartItem(CartItem cartItem) {
for (CartItem item : cartItems) {
if (item.getProductId().equals(cartItem.getProductId())) {
item.setQuantity(cartItem.getQuantity());
item.setSelected(cartItem.getSelected());
return;
}
}
throw new IllegalArgumentException("Invalid cart item");
}
public void removeFromCart(Long productId) {
cartItems.removeIf(item -> item.getProductId().equals(productId));
}
public void clearCart() {
cartItems.clear();
}
public List<CartItem> getCartItems() {
return cartItems;
}
}
```
这些代码提供了添加、更新、删除、清空和获取购物车内容的 API。CartItem 模型包含了商品 ID、名称、价格、数量和“是否选中”这些属性。在添加商品时,如果购物车中已有相同的商品,则将其数量相加。在更新商品时,将更新商品的数量和选中状态。在删除商品时,根据商品 ID 进行删除。在清空购物车时,将购物车中的所有商品都删除。在获取购物车内容时,返回购物车中所有的商品。
阅读全文