
- Python (Flask 框架)hongjet.cn
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的产品数据
products = [
{“id”: 1, “name”: “Product 1”, “price”: 100},
{“id”: 2, “name”: “Product 2”, “price”: 200},
]
@app.route(‘/products’, methods=[‘GET’])
def get_products():
return jsonify(products)
@app.route(‘/products/int:product_id’, methods=[‘GET’])
def get_product_by_id(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();
app.use(express.json());
// 假设的产品数据
let products = [
{id: 1, name: ‘Product 1’, price: 100},
{id: 2, name: ‘Product 2’, price: 200},
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:product_id’, (req, res) => {
const product_id = parseInt(req.params.product_id);
const product = products.find(p => p.id === product_id);
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)
Java 示例会更长且复杂,但以下是一个简化的 Controller 类示例:
java
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping(“/products”)
public class ProductController {
// 假设的产品数据
private static final List<Product> products = Arrays.asList(
new Product(1, "Product 1", 100),
new Product(2, "Product 2", 200)
);
@GetMapping
public List<Product> getProducts() {
return products;
}
@GetMapping("/{product_id}")
public Product getProductById(@PathVariable int product_id) {
for (Product product : products) {
if (product.getId() == product_id) {
return product;
}
}
// 这里应该抛出异常或返回 ResponseEntity.notFound().build();
return null; // 仅用于示例,实际中应避免返回 null
}
// Product 类和其他必要的配置、服务层等将在这里省略
}
这些示例仅展示了如何设置基本的路由和返回静态产品数据。在真实的购物商城中,你需要添加数据库连接、用户认证、购物车管理、订单处理、支付集成等复杂功能。由于生成一个完整的购物商城代码超出了简短回答的范围,我将为你提供一个简化版的购物商城的核心功能框架,以几种不同的编程语言表示。请注意,这些示例仅用于展示基本结构和概念,并不包含完整的用户认证、支付处理、数据库连接等复杂功能。
- Python (Flask 框架)
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的产品数据
products = [
{“id”: 1, “name”: “Product 1”, “price”: 100},
{“id”: 2, “name”: “Product 2”, “price”: 200},
]
@app.route(‘/products’, methods=[‘GET’])
def get_products():
return jsonify(products)
@app.route(‘/products/int:product_id’, methods=[‘GET’])
def get_product_by_id(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();
app.use(express.json());
// 假设的产品数据
let products = [
{id: 1, name: ‘Product 1’, price: 100},
{id: 2, name: ‘Product 2’, price: 200},
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:product_id’, (req, res) => {
const product_id = parseInt(req.params.product_id);
const product = products.find(p => p.id === product_id);
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)
Java 示例会更长且复杂,但以下是一个简化的 Controller 类示例:
java
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping(“/products”)
public class ProductController {
// 假设的产品数据
private static final List<Product> products = Arrays.asList(
new Product(1, "Product 1", 100),
new Product(2, "Product 2", 200)
);
@GetMapping
public List<Product> getProducts() {
return products;
}
@GetMapping("/{product_id}")
public Product getProductById(@PathVariable int product_id) {
for (Product product : products) {
if (product.getId() == product_id) {
return product;
}
}
// 这里应该抛出异常或返回 ResponseEntity.notFound().build();
return null; // 仅用于示例,实际中应避免返回 null
}
// Product 类和其他必要的配置、服务层等将在这里省略
}
这些示例仅展示了如何设置基本的路由和返回静态产品数据。在真实的购物商城中,你需要添加数据库连接、用户认证、购物车管理、订单处理、支付集成等复杂功能。

被折叠的 条评论
为什么被折叠?



