- Python (Flask 或 Django)mdthv.cn
后端(使用Flask):
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据库
products = [
{“id”: 1, “name”: “苹果”, “price”: 10.0},
{“id”: 2, “name”: “香蕉”, “price”: 2.0},
]
@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((p for p in products if p[‘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();
const port = 3000;
// 假设的商品数据
let products = [
{id: 1, name: “苹果”, price: 10.0},
{id: 2, name: “香蕉”, price: 2.0},
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:productId’, (req, res) => {
const product = products.find(p => p.id === parseInt(req.params.productId));
if (product) {
res.json(product);
} else {
res.status(404).send(‘Product not found’);
}
});
app.listen(port, () => {
console.log(Shopping mall server listening at http://localhost:${port}
);
});
3. Java (Spring Boot)
后端(使用Spring Boot):
你需要一个Spring Boot项目,这里只展示一个Controller的示例:
java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
@RestController
public class ProductController {
private static List<Product> products = Arrays.asList(
new Product(1, "苹果", 10.0),
new Product(2, "香蕉", 2.0)
);
@GetMapping("/products")
public List<Product> getProducts() {
return products;
}
@GetMapping("/products/{productId}")
public Product getProduct(@PathVariable int productId) {
return products.stream().filter(p -> p.getId() == productId).findFirst().orElse(null);
}
// 假设的Product类
static class Product {
private int id;
private String name;
private double price;
// 构造函数、getters和setters省略
}
}
前端
前端部分可以使用HTML, CSS, JavaScript(或框架如React, Vue, Angular)来实现。这通常涉及从后端API获取数据,并在网页上显示商品列表、详情等。由于篇幅限制,这里不再展开。
希望这些示例能为你提供一个构建购物商城的起点。记住,一个完整的商城系统还需要考虑许多其他因素,如用户认证、支付集成、库存管理等。由于篇幅和复杂性限制,我无法在这里提供一个完整的、多语言的购物商城代码示例。但我可以为你概述一些常见编程语言(如Python、JavaScript(Node.js)、Java)中如何开始构建一个基本的购物商城的后端和前端框架。请注意,这只是一个高层次的概述,旨在指导你开始项目。
- Python (Flask 或 Django)
后端(使用Flask):
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据库
products = [
{“id”: 1, “name”: “苹果”, “price”: 10.0},
{“id”: 2, “name”: “香蕉”, “price”: 2.0},
]
@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((p for p in products if p[‘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();
const port = 3000;
// 假设的商品数据
let products = [
{id: 1, name: “苹果”, price: 10.0},
{id: 2, name: “香蕉”, price: 2.0},
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:productId’, (req, res) => {
const product = products.find(p => p.id === parseInt(req.params.productId));
if (product) {
res.json(product);
} else {
res.status(404).send(‘Product not found’);
}
});
app.listen(port, () => {
console.log(Shopping mall server listening at http://localhost:${port}
);
});
3. Java (Spring Boot)
后端(使用Spring Boot):
你需要一个Spring Boot项目,这里只展示一个Controller的示例:
java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
@RestController
public class ProductController {
private static List<Product> products = Arrays.asList(
new Product(1, "苹果", 10.0),
new Product(2, "香蕉", 2.0)
);
@GetMapping("/products")
public List<Product> getProducts() {
return products;
}
@GetMapping("/products/{productId}")
public Product getProduct(@PathVariable int productId) {
return products.stream().filter(p -> p.getId() == productId).findFirst().orElse(null);
}
// 假设的Product类
static class Product {
private int id;
private String name;
private double price;
// 构造函数、getters和setters省略
}
}
前端
前端部分可以使用HTML, CSS, JavaScript(或框架如React, Vue, Angular)来实现。这通常涉及从后端API获取数据,并在网页上显示商品列表、详情等。由于篇幅限制,这里不再展开。
希望这些示例能为你提供一个构建购物商城的起点。记住,一个完整的商城系统还需要考虑许多其他因素,如用户认证、支付集成、库存管理等。