- Python (Flask)cy2.cn
Flask 后端示例:
python
from flask import Flask, jsonify, request
app = Flask(name)
假设的商品数据(实际应用中应存储在数据库中)
products = [
{‘id’: 1, ‘name’: ‘T-shirt’, ‘price’: 20.00},
{‘id’: 2, ‘name’: ‘Jeans’, ‘price’: 40.00}
]
@app.route(‘/products’, methods=[‘GET’])
def get_products():
return jsonify(products)
@app.route(‘/products’, methods=[‘POST’])
def add_product():
data = request.get_json()
new_product = {‘id’: len(products) + 1, ‘name’: data[‘name’], ‘price’: data[‘price’]}
products.append(new_product) # 注意:实际应用中应存储在数据库中
return jsonify(new_product), 201
还需要实现其他API,如删除、更新产品等
if name == ‘main’:
app.run(debug=True)
2. JavaScript (Node.js + Express)
Express 后端示例:
首先,你需要安装Node.js和npm,然后安装Express。
bash
npm init -y
npm install express body-parser --save
server.js:
javascript
const express = require(‘express’);
const bodyParser = require(‘body-parser’);
const app = express();
const port = 3000;
// 假设的商品数据(实际应用中应存储在数据库中)
let products = [
{id: 1, name: ‘T-shirt’, price: 20.00},
{id: 2, name: ‘Jeans’, price: 40.00}
];
app.use(bodyParser.json());
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.post(‘/products’, (req, res) => {
const newProduct = {
id: products.length + 1,
name: req.body.name,
price: req.body.price
};
products.push(newProduct); // 注意:实际应用中应存储在数据库中
res.status(201).json(newProduct);
});
// … 其他路由
app.listen(port, () => {
console.log(Server running on port ${port}
);
});
3. Java (Spring Boot)
Spring Boot 后端示例:
由于Spring Boot项目通常较大,这里只给出控制器的示例。
ProductController.java:
java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping(“/products”)
public class ProductController {
@Autowired
private ProductService productService; // 假设你有一个ProductService来处理业务逻辑
@GetMapping
public ResponseEntity<List<Product>> getAllProducts() {
return ResponseEntity.ok(productService.getAllProducts());
}
@PostMapping
public ResponseEntity<Product> addProduct(@RequestBody Product product) {
Product savedProduct = productService.saveProduct(product);
return ResponseEntity.status(HttpStatus.CREATED).body(savedProduct);
}
// ... 其他方法,如删除、更新产品等
}
// Product.java 和 ProductService.java 需要你根据业务需求自行实现
请注意,对于Spring Boot项目,你还需要创建相应的实体类(如Product.java)、服务层(如ProductService.java及其实现)、配置数据库连接等。这通常涉及Spring Data JPA、Hibernate、MyBatis等框架的使用,以及application.properties或application.yml文件中的数据库配置。
以上示例仅展示了购物商城后端API的基本框架。在实际应用中,你还需要考虑安全性(如使用Spring由于直接在这里用多种编程语言完整地编写一个购物商城的代码是不切实际的,我将为你概述如何使用几种流行的编程语言(Python、JavaScript (Node.js + Express)、Java (Spring Boot))来构建购物商城后端的基本框架,并提供一些关键部分的代码示例。
- Python (Flask)
Flask 后端示例:
python
from flask import Flask, jsonify, request
app = Flask(name)
假设的商品数据(实际应用中应存储在数据库中)
products = [
{‘id’: 1, ‘name’: ‘T-shirt’, ‘price’: 20.00},
{‘id’: 2, ‘name’: ‘Jeans’, ‘price’: 40.00}
]
@app.route(‘/products’, methods=[‘GET’])
def get_products():
return jsonify(products)
@app.route(‘/products’, methods=[‘POST’])
def add_product():
data = request.get_json()
new_product = {‘id’: len(products) + 1, ‘name’: data[‘name’], ‘price’: data[‘price’]}
products.append(new_product) # 注意:实际应用中应存储在数据库中
return jsonify(new_product), 201
还需要实现其他API,如删除、更新产品等
if name == ‘main’:
app.run(debug=True)
2. JavaScript (Node.js + Express)
Express 后端示例:
首先,你需要安装Node.js和npm,然后安装Express。
bash
npm init -y
npm install express body-parser --save
server.js:
javascript
const express = require(‘express’);
const bodyParser = require(‘body-parser’);
const app = express();
const port = 3000;
// 假设的商品数据(实际应用中应存储在数据库中)
let products = [
{id: 1, name: ‘T-shirt’, price: 20.00},
{id: 2, name: ‘Jeans’, price: 40.00}
];
app.use(bodyParser.json());
app.get(‘/products’, (req, res) => {
res.json(products);
});
app.post(‘/products’, (req, res) => {
const newProduct = {
id: products.length + 1,
name: req.body.name,
price: req.body.price
};
products.push(newProduct); // 注意:实际应用中应存储在数据库中
res.status(201).json(newProduct);
});
// … 其他路由
app.listen(port, () => {
console.log(Server running on port ${port}
);
});
3. Java (Spring Boot)
Spring Boot 后端示例:
由于Spring Boot项目通常较大,这里只给出控制器的示例。
ProductController.java:
java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping(“/products”)
public class ProductController {
@Autowired
private ProductService productService; // 假设你有一个ProductService来处理业务逻辑
@GetMapping
public ResponseEntity<List<Product>> getAllProducts() {
return ResponseEntity.ok(productService.getAllProducts());
}
@PostMapping
public ResponseEntity<Product> addProduct(@RequestBody Product product) {
Product savedProduct = productService.saveProduct(product);
return ResponseEntity.status(HttpStatus.CREATED).body(savedProduct);
}
// ... 其他方法,如删除、更新产品等
}
// Product.java 和 ProductService.java 需要你根据业务需求自行实现
请注意,对于Spring Boot项目,你还需要创建相应的实体类(如Product.java)、服务层(如ProductService.java及其实现)、配置数据库连接等。这通常涉及Spring Data JPA、Hibernate、MyBatis等框架的使用,以及application.properties或application.yml文件中的数据库配置。
以上示例仅展示了购物商城后端API的基本框架。在实际应用中,你还需要考虑安全性(如使用Spring