- Python (使用Flask框架)earnersclub247.com
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(‘/buy’, methods=[‘POST’])
def buy_product():
data = request.json
product_id = data.get(‘id’)
# 简化购买逻辑,只输出购买的商品信息
for product in products:
if product[‘id’] == product_id:
return jsonify({“message”: f"You bought {product[‘name’]} for {product[‘price’]}"}), 200
return jsonify({“error”: “Product not found”}), 404
if name == ‘main’:
app.run(debug=True)
2. JavaScript (使用Express框架和Node.js)
javascript
const express = require(‘express’);
const app = express();
const products = [
// … 商品列表
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.post(‘/buy’, (req, res) => {
const { id } = req.body;
const product = products.find(p => p.id === id);
if (product) {
res.json({ message: You bought ${product.name} for ${product.price}
});
} 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
@RestController
@RequestMapping(“/api”)
public class ShoppingController {
// 假设有一个Service来处理产品逻辑
private final ProductService productService;
// 构造函数注入Service
public ShoppingController(ProductService productService) {
this.productService = productService;
}
@GetMapping("/products")
public List<Product> getProducts() {
return productService.getProducts();
}
@PostMapping("/buy")
public ResponseEntity<?> buyProduct(@RequestBody Map<String, Integer> request) {
int productId = request.get("id");
Product product = productService.buyProduct(productId);
if (product != null) {
return ResponseEntity.ok("You bought " + product.getName() + " for " + product.getPrice());
} else {
return ResponseEntity.notFound().body("Product not found");
}
}
}
注意:以上示例仅用于演示目的,并未包含数据库交互、错误处理、用户认证、支付集成等实际商城应用中必需的功能。在开发真实应用时,你需要考虑这些因素并扩展代码。由于生成一个完整的购物商城代码涉及很多细节和复杂的架构,我将为你提供一个简化的购物商城代码示例,用几种不同的编程语言来表示。这些示例将只包含基本的商品列表和购买功能。
- 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(‘/buy’, methods=[‘POST’])
def buy_product():
data = request.json
product_id = data.get(‘id’)
# 简化购买逻辑,只输出购买的商品信息
for product in products:
if product[‘id’] == product_id:
return jsonify({“message”: f"You bought {product[‘name’]} for {product[‘price’]}"}), 200
return jsonify({“error”: “Product not found”}), 404
if name == ‘main’:
app.run(debug=True)
2. JavaScript (使用Express框架和Node.js)
javascript
const express = require(‘express’);
const app = express();
const products = [
// … 商品列表
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.post(‘/buy’, (req, res) => {
const { id } = req.body;
const product = products.find(p => p.id === id);
if (product) {
res.json({ message: You bought ${product.name} for ${product.price}
});
} 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
@RestController
@RequestMapping(“/api”)
public class ShoppingController {
// 假设有一个Service来处理产品逻辑
private final ProductService productService;
// 构造函数注入Service
public ShoppingController(ProductService productService) {
this.productService = productService;
}
@GetMapping("/products")
public List<Product> getProducts() {
return productService.getProducts();
}
@PostMapping("/buy")
public ResponseEntity<?> buyProduct(@RequestBody Map<String, Integer> request) {
int productId = request.get("id");
Product product = productService.buyProduct(productId);
if (product != null) {
return ResponseEntity.ok("You bought " + product.getName() + " for " + product.getPrice());
} else {
return ResponseEntity.notFound().body("Product not found");
}
}
}
注意:以上示例仅用于演示目的,并未包含数据库交互、错误处理、用户认证、支付集成等实际商城应用中必需的功能。在开发真实应用时,你需要考虑这些因素并扩展代码。