- Python(使用Flask或Django框架)aizhuw.cn
这里我们使用Flask作为Web框架的示例:
安装Flask:
bash
pip install flask
基本Flask应用结构:
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据
products = [
{“id”: 1, “name”: “苹果”, “price”: 10},
{“id”: 2, “name”: “香蕉”, “price”: 5},
]
@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框架)
安装Node.js和Express:
bash
npm init -y
npm install express
Express应用示例:
javascript
const express = require(‘express’);
const app = express();
const port = 3000;
// 假设的商品数据
const products = [
{ id: 1, name: ‘苹果’, price: 10 },
{ id: 2, name: ‘香蕉’, price: 5 },
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:productId’, (req, res) => {
const productId = parseInt(req.params.productId, 10);
const product = products.find(p => p.id === productId);
if (product) {
res.json(product);
} else {
res.status(404).json({ error: ‘Product not found’ });
}
});
app.listen(port, () => {
console.log(Server running on port ${port}
);
});
3. Java (Spring Boot)
Spring Boot是一个用于创建微服务应用的流行Java框架。
基本Spring Boot项目结构(需使用IDE或Spring Initializr创建):
ProductController.java:
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, "苹果", 10),
new Product(2, "香蕉", 5)
);
@GetMapping
public List<Product> getAllProducts() {
return products;
}
@GetMapping("/{id}")
public Product getProductById(@PathVariable int id) {
return products.stream()
.filter(p -> p.getId() == id)
.findFirst()
.orElse(null);
}
// Product 类省略...
}
以上仅为每个语言的入门级示例,用于说明如何在各自的环境中创建和获取商品信息。实际项目中,你将需要处理更多功能,如数据库集成、用户认证、支付处理、购物车管理等。由于篇幅和复杂性的限制,我不能在这里完整地编写一个完整的购物商城代码,但我可以为你概述几种不同编程语言(如Python, JavaScript (Node.js), 和 Java)中构建购物商城的基本框架和思路。
- Python(使用Flask或Django框架)
这里我们使用Flask作为Web框架的示例:
安装Flask:
bash
pip install flask
基本Flask应用结构:
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据
products = [
{“id”: 1, “name”: “苹果”, “price”: 10},
{“id”: 2, “name”: “香蕉”, “price”: 5},
]
@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框架)
安装Node.js和Express:
bash
npm init -y
npm install express
Express应用示例:
javascript
const express = require(‘express’);
const app = express();
const port = 3000;
// 假设的商品数据
const products = [
{ id: 1, name: ‘苹果’, price: 10 },
{ id: 2, name: ‘香蕉’, price: 5 },
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:productId’, (req, res) => {
const productId = parseInt(req.params.productId, 10);
const product = products.find(p => p.id === productId);
if (product) {
res.json(product);
} else {
res.status(404).json({ error: ‘Product not found’ });
}
});
app.listen(port, () => {
console.log(Server running on port ${port}
);
});
3. Java (Spring Boot)
Spring Boot是一个用于创建微服务应用的流行Java框架。
基本Spring Boot项目结构(需使用IDE或Spring Initializr创建):
ProductController.java:
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, "苹果", 10),
new Product(2, "香蕉", 5)
);
@GetMapping
public List<Product> getAllProducts() {
return products;
}
@GetMapping("/{id}")
public Product getProductById(@PathVariable int id) {
return products.stream()
.filter(p -> p.getId() == id)
.findFirst()
.orElse(null);
}
// Product 类省略...
}
以上仅为每个语言的入门级示例,用于说明如何在各自的环境中创建和获取商品信息。实际项目中,你将需要处理更多功能,如数据库集成、用户认证、支付处理、购物车管理等。