- Python (使用Flask框架)yctsy.cn
python
from flask import Flask, request, jsonify
app = Flask(name)
模拟商品数据库
products = [
{“id”: 1, “name”: “Apple”, “price”: 100},
{“id”: 2, “name”: “Banana”, “price”: 50},
# …
]
@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
… 其他API(如添加购物车、下单等)
if name == ‘main’:
app.run(debug=True)
2. JavaScript (使用Express框架)
javascript
const express = require(‘express’);
const app = express();
app.use(express.json());
// 模拟商品数据库
let products = [
{id: 1, name: ‘Apple’, price: 100},
{id: 2, name: ‘Banana’, price: 50},
// …
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:product_id’, (req, res) => {
const product_id = parseInt(req.params.product_id);
const product = products.find(p => p.id === product_id);
if (product) {
res.json(product);
} else {
res.status(404).json({error: ‘Product not found’});
}
});
// … 其他API(如添加购物车、下单等)
app.listen(3000, () => console.log(‘Server is running on port 3000’));
3. Java (使用Spring Boot)
这里只给出接口定义和伪代码,具体实现会涉及更多配置和代码。
java
// ProductController.java
@RestController
@RequestMapping(“/products”)
public class ProductController {
// 模拟商品数据库(实际开发中会使用数据库)
private List<Product> products = // ... 初始化商品列表
@GetMapping("")
public List<Product> getProducts() {
return products;
}
@GetMapping("/{product_id}")
public ResponseEntity<Product> getProduct(@PathVariable Long product_id) {
// ... 从列表中查找商品,返回ResponseEntity
}
// ... 其他API(如添加购物车、下单等)
}
// Product.java (商品实体类)
// …
4. Ruby (使用Rails框架)
Rails的MVC结构使得代码更为复杂,但以下是一个简化的控制器示例。
ruby
app/controllers/products_controller.rb
class ProductsController < ApplicationController
before_action :set_product, only: [:show]
def index
@products = Product.all # 假设有Product模型对应数据库表
render json: @products
end
def show
render json: @product
end
private
def set_product
@product = Product.find(params[:id])
end
end
app/models/product.rb (商品模型类)
…
注意:以上代码仅为示例,并未包含完整的购物商城功能(如用户认证、购物车管理、订单处理等)。在实际开发中,你需要根据具体需求进行设计和实现。由于直接生成一个完整的购物商城代码超出了简单回答的范围,我将为你提供一个简化的购物商城后端API的伪代码或代码框架,涵盖多种语言。
- Python (使用Flask框架)
python
from flask import Flask, request, jsonify
app = Flask(name)
模拟商品数据库
products = [
{“id”: 1, “name”: “Apple”, “price”: 100},
{“id”: 2, “name”: “Banana”, “price”: 50},
# …
]
@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
… 其他API(如添加购物车、下单等)
if name == ‘main’:
app.run(debug=True)
2. JavaScript (使用Express框架)
javascript
const express = require(‘express’);
const app = express();
app.use(express.json());
// 模拟商品数据库
let products = [
{id: 1, name: ‘Apple’, price: 100},
{id: 2, name: ‘Banana’, price: 50},
// …
];
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.get(‘/products/:product_id’, (req, res) => {
const product_id = parseInt(req.params.product_id);
const product = products.find(p => p.id === product_id);
if (product) {
res.json(product);
} else {
res.status(404).json({error: ‘Product not found’});
}
});
// … 其他API(如添加购物车、下单等)
app.listen(3000, () => console.log(‘Server is running on port 3000’));
3. Java (使用Spring Boot)
这里只给出接口定义和伪代码,具体实现会涉及更多配置和代码。
java
// ProductController.java
@RestController
@RequestMapping(“/products”)
public class ProductController {
// 模拟商品数据库(实际开发中会使用数据库)
private List<Product> products = // ... 初始化商品列表
@GetMapping("")
public List<Product> getProducts() {
return products;
}
@GetMapping("/{product_id}")
public ResponseEntity<Product> getProduct(@PathVariable Long product_id) {
// ... 从列表中查找商品,返回ResponseEntity
}
// ... 其他API(如添加购物车、下单等)
}
// Product.java (商品实体类)
// …
4. Ruby (使用Rails框架)
Rails的MVC结构使得代码更为复杂,但以下是一个简化的控制器示例。
ruby
app/controllers/products_controller.rb
class ProductsController < ApplicationController
before_action :set_product, only: [:show]
def index
@products = Product.all # 假设有Product模型对应数据库表
render json: @products
end
def show
render json: @product
end
private
def set_product
@product = Product.find(params[:id])
end
end
app/models/product.rb (商品模型类)
…
注意:以上代码仅为示例,并未包含完整的购物商城功能(如用户认证、购物车管理、订单处理等)。在实际开发中,你需要根据具体需求进行设计和实现。