- Python (使用Flask)gzjiazheng.cn
Flask应用(简化版):
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据
products = [
{“id”: 1, “name”: “商品1”, “price”: 100},
{“id”: 2, “name”: “商品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(product_id):
product = next((item for item in products if item[“id”] == product_id), None)
if product:
return jsonify(product)
else:
return jsonify({“error”: “Product not found”}), 404
if name == ‘main’:
app.run(debug=True)
2. JavaScript (使用Node.js和Express)
Express应用(简化版):
javascript
const express = require(‘express’);
const app = express();
app.use(express.json());
// 假设的商品数据
const products = [
{ id: 1, name: ‘商品1’, price: 100 },
{ id: 2, name: ‘商品2’, price: 200 },
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:product_id’, (req, res) => {
const product = products.find(p => p.id === parseInt(req.params.product_id));
if (product) {
res.json(product);
} else {
res.status(404).json({ error: ‘Product not found’ });
}
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(Server is running on port ${PORT}.
);
});
3. Java (使用Spring Boot)
Spring Boot应用(需要更多的配置和文件,但这里只展示Controller部分):
java
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping(“/products”)
public class ProductController {
// 假设的商品数据
private static List<Product> products = Arrays.asList(
new Product(1, "商品1", 100),
new Product(2, "商品2", 200)
);
// 假设的Product类(需要自行定义)
// ...
@GetMapping
public List<Product> getProducts() {
return products;
}
@GetMapping("/{id}")
public Product getProduct(@PathVariable Long id) {
return products.stream()
.filter(p -> p.getId().equals(id))
.findFirst()
.orElseThrow(() -> new RuntimeException("Product not found"));
}
}
请注意,这些示例只是购物商城的非常小的一部分,真实的商城应用会包含更多的功能,如用户认证、购物车管理、订单处理、支付集成、库存管理等。此外,还需要前端页面来展示商品和处理用户交互。这些示例只是为了展示如何在不同的语言中设置基本的路由和商品数据访问。由于生成完整的购物商城代码在多个电脑语言中是非常庞大和复杂的任务,我会为你提供一个简化的示例框架,分别用Python(使用Flask作为Web框架)、JavaScript(使用Node.js和Express框架)、以及Java(使用Spring Boot框架)来说明。
- Python (使用Flask)
Flask应用(简化版):
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据
products = [
{“id”: 1, “name”: “商品1”, “price”: 100},
{“id”: 2, “name”: “商品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(product_id):
product = next((item for item in products if item[“id”] == product_id), None)
if product:
return jsonify(product)
else:
return jsonify({“error”: “Product not found”}), 404
if name == ‘main’:
app.run(debug=True)
2. JavaScript (使用Node.js和Express)
Express应用(简化版):
javascript
const express = require(‘express’);
const app = express();
app.use(express.json());
// 假设的商品数据
const products = [
{ id: 1, name: ‘商品1’, price: 100 },
{ id: 2, name: ‘商品2’, price: 200 },
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:product_id’, (req, res) => {
const product = products.find(p => p.id === parseInt(req.params.product_id));
if (product) {
res.json(product);
} else {
res.status(404).json({ error: ‘Product not found’ });
}
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(Server is running on port ${PORT}.
);
});
3. Java (使用Spring Boot)
Spring Boot应用(需要更多的配置和文件,但这里只展示Controller部分):
java
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping(“/products”)
public class ProductController {
// 假设的商品数据
private static List<Product> products = Arrays.asList(
new Product(1, "商品1", 100),
new Product(2, "商品2", 200)
);
// 假设的Product类(需要自行定义)
// ...
@GetMapping
public List<Product> getProducts() {
return products;
}
@GetMapping("/{id}")
public Product getProduct(@PathVariable Long id) {
return products.stream()
.filter(p -> p.getId().equals(id))
.findFirst()
.orElseThrow(() -> new RuntimeException("Product not found"));
}
}
请注意,这些示例只是购物商城的非常小的一部分,真实的商城应用会包含更多的功能,如用户认证、购物车管理、订单处理、支付集成、库存管理等。此外,还需要前端页面来展示商品和处理用户交互。这些示例只是为了展示如何在不同的语言中设置基本的路由和商品数据访问。