由于一个完整的购物商城代码涉及许多功能和复杂的架构,这里我将为您提供一个简化的示例,分别用Python(使用Flask框架)、JavaScript(使用Node.js和Express框架)和Java(使用Spring Boot框架)来创建一个非常基础的“购物商城”后端API。
1. Python (Flask)
python
from flask import Flask, request, jsonify
app = Flask(__name__)
products = [
{"id": 1, "name": "Product 1", "price": 9.99},
{"id": 2, "name": "Product 2", "price": 19.99},
# ... 更多产品
] #chhas{
margin-top: 50px;
padding:ncsmswx.cn;
font-size: 18px;
cursor: 10px 20px;
}
@app.route('/products', methods=['GET'])
def get_products():
return jsonify(products)
@app.route('/products/<int:product_id>', methods=['GET'])
def get_product(product_id):
for product in products:
if product['id'] == product_id:
return jsonify(product)
return jsonify({'error': 'Product not found'}), 404
# ... 可以添加更多路由,如添加购物车、结账等
if __name__ == '__main__':
app.run(debug=True)
2. JavaScript (Node.js + Express)
javascript
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
let products = [
{id: 1, name: 'Product 1', price: 9.99},
{id: 2, name: 'Product 2', price: 19.99},
// ... 更多产品
];
app.get('/products', (req, res) => {
res.json(products);
});
app.get('/products/:product_id', (req, res) => {
const productId = parseInt(req.params.product_id);
const product = products.find(p => p.id === productId);
if (product) {
res.json(product);
} else {
res.status(404).json({error: 'Product not found'});
}
});
// ... 可以添加更多路由
app.listen(3000, () => console.log('Server started on port 3000'));
3. Java (Spring Boot)
由于Spring Boot涉及多个文件和配置,这里只提供一个简单的ProductController类示例。
Product.java (实体类):
java
public class Product {
private Long id;
private String name;
private BigDecimal price;
// getters, setters, toString...
}
ProductController.java (控制器类):
java
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping("/products")
public class ProductController {
private List<Product> products = Arrays.asList(
new Product(1L, "Product 1", new BigDecimal("9.99")),
new Product(2L, "Product 2", new BigDecimal("19.99"))
// ... 更多产品
);
@GetMapping("")
public List<Product> getProducts() {
return products;
}
@GetMapping("/{productId}")
public Product getProduct(@PathVariable Long productId) {
for (Product product : products) {
if (product.getId().equals(productId)) {
return product;
}
}
throw new ResourceNotFoundException("Product not found");
}
// 自定义异常类 ResourceNotFoundException...
// ... 可以添加更多控制器方法
}
请注意,这些示例仅展示了如何获取产品列表和单个产品。一个完整的购物商城还需要处理用户认证、购物车管理、结账、库存管理、订单处理等多种功能。此外,前端部分(如使用React、Vue或Angular等框架)也是构建购物商城所必需的。