app = Flask(name)
products = [
{“id”: 1, “name”: “苹果”, “price”: 10.0},
{“id”: 2, “name”: “香蕉”, “price”: 5.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示例(后端API)
javascript
const express = require(‘express’);
const app = express();
const port = 3000;
// 假设的商品列表
const products = [
{ id: 1, name: ‘苹果’, price: 10.0 },
{ id: 2, name: ‘香蕉’, price: 5.0 },
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:id’, (req, res) => {
const product = products.find(p => p.id === parseInt(req.params.id));
if (product) {
res.json(product);
} else {
res.status(404).send(‘Product not found’);
}
});
app.listen(port, () => {
console.log(Server 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;
import java.util.Optional;
@RestController
@RequestMapping(“/products”)
public class ProductController {
private static final List products = Arrays.asList(
new Product(1, "苹果", 10.0),
new Product(2, "香蕉", 5.0)
);
@GetMapping
public List getAllProducts() {
return products;
}
@GetMapping("/{id}")
public Product getProductById(@PathVariable Long id) {
return products.stream()
.filter(product -> product.getId().equals(id))
.findFirst()
.orElseThrow(() -> new RuntimeException("Product not found"));
}
// 假设的Product类
static class Product {
private Long id;
private String name;
private Double price;
// 构造函数、getter和setter省略
}
}
前端(HTML/CSS/JavaScript)
前端部分可以使用HTML来构建页面结构,CSS进行样式设计,JavaScript(或前端框架如React, Vue, Angular)来处理用户交互和API调用。由于篇幅原因,这里不再详细展开。
数据库
对于真实的购物商城,你还需要一个数据库来存储商品、用户信息、订单等数据。常用的数据库包括MySQL, PostgreSQL, MongoDB等。
这个概述应该可以帮助你开始构建一个基本的购物商城项目。对于更复杂的功能,如用户认证、支付集成、订单处理等,你将需要更深入地学习和实现。由于篇幅和复杂性限制,我无法在这里直接为你提供一个完整的、用多种编程语言实现的购物商城代码。但是,我可以为你概述如何使用几种流行的编程语言(如Python, JavaScript/Node.js, Java)来构建一个简单的购物商城的基本结构和关键组件。
app = Flask(name)
products = [
{“id”: 1, “name”: “苹果”, “price”: 10.0},
{“id”: 2, “name”: “香蕉”, “price”: 5.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示例(后端API)
javascript
const express = require(‘express’);
const app = express();
const port = 3000;
// 假设的商品列表
const products = [
{ id: 1, name: ‘苹果’, price: 10.0 },
{ id: 2, name: ‘香蕉’, price: 5.0 },
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:id’, (req, res) => {
const product = products.find(p => p.id === parseInt(req.params.id));
if (product) {
res.json(product);
} else {
res.status(404).send(‘Product not found’);
}
});
app.listen(port, () => {
console.log(Server 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;
import java.util.Optional;
@RestController
@RequestMapping(“/products”)
public class ProductController {
private static final List products = Arrays.asList(
new Product(1, "苹果", 10.0),
new Product(2, "香蕉", 5.0)
);
@GetMapping
public List getAllProducts() {
return products;
}
@GetMapping("/{id}")
public Product getProductById(@PathVariable Long id) {
return products.stream()
.filter(product -> product.getId().equals(id))
.findFirst()
.orElseThrow(() -> new RuntimeException("Product not found"));
}
// 假设的Product类
static class Product {
private Long id;
private String name;
private Double price;
// 构造函数、getter和setter省略
}
}
前端(HTML/CSS/JavaScript)
前端部分可以使用HTML来构建页面结构,CSS进行样式设计,JavaScript(或前端框架如React, Vue, Angular)来处理用户交互和API调用。由于篇幅原因,这里不再详细展开。
数据库
对于真实的购物商城,你还需要一个数据库来存储商品、用户信息、订单等数据。常用的数据库包括MySQL, PostgreSQL, MongoDB等。
这个概述应该可以帮助你开始构建一个基本的购物商城项目。对于更复杂的功能,如用户认证、支付集成、订单处理等,你将需要更深入地学习和实现。