- Python (使用Flask框架)grsyzp.cn
后端(Flask):
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据
products = [
{“id”: 1, “name”: “笔记本电脑”, “price”: 5999},
{“id”: 2, “name”: “智能手机”, “price”: 2999},
# 更多商品…
]
@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
启动Flask应用
if name == ‘main’:
app.run(debug=True)
前端(HTML/JavaScript,简单示例):
HTML 和 JavaScript 可以通过 AJAX 调用 Flask API。
- JavaScript (Node.js + Express)
后端(Express):
javascript
const express = require(‘express’);
const app = express();
const port = 3000;
let products = [
{ id: 1, name: ‘笔记本电脑’, price: 5999 },
{ id: 2, name: ‘智能手机’, price: 2999 },
// 更多商品…
];
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}
);
});
前端(同上,通过AJAX调用)
- Java (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;
import java.util.stream.Collectors;
@RestController
public class ProductController {
private static final List<Product> products = Arrays.asList(
new Product(1, "笔记本电脑", 5999),
new Product(2, "智能手机", 2999)
// 更多商品...
);
@GetMapping("/products")
public List<Product> getProducts() {
return products;
}
@GetMapping("/products/{id}")
public Product getProduct(@PathVariable int id) {
return products.stream()
.filter(p -> p.getId() == id)
.findFirst()
.orElse(null);
}
// Product 类定义...
}
注意: 这些示例主要展示了后端部分。前端部分通常会使用HTML、CSS和JavaScript(可能还包括一些现代前端框架如React、Vue或Angular)来构建用户界面,并通过AJAX或Fetch API与后端API进行通信。由于篇幅原因,这里没有详细展示前端代码。由于直接在回答中完整编写一个完整的游戏商城系统代码对于各种编程语言来说都过于庞大,我会为你提供一个简化的概念性框架和示例代码片段,这些代码片段将涵盖几种流行的编程语言:Python(使用Flask框架)、JavaScript(使用Node.js和Express框架)和Java(使用Spring Boot框架)。
- Python 使用 Flask
安装Flask:
bash
pip install flask
基本路由设置 (app.py):
python
from flask import Flask, jsonify
app = Flask(name)
假设的游戏列表
games = [
{“id”: 1, “name”: “Cyberpunk 2077”, “price”: 59.99},
{“id”: 2, “name”: “The Witcher 3”, “price”: 39.99}
]
@app.route(‘/games’, methods=[‘GET’])
def get_games():
return jsonify(games)
if name == ‘main’:
app.run(debug=True)
2. JavaScript 使用 Node.js 和 Express
安装Express:
bash
npm init -y
npm install express
服务器设置 (server.js):
javascript
const express = require(‘express’);
const app = express();
const port = 3000;
// 假设的游戏列表
const games = [
{id: 1, name: “Cyberpunk 2077”, price: 59.99},
{id: 2, name: “The Witcher 3”, price: 39.99}
];
app.get(‘/games’, (req, res) => {
res.json(games);
});
app.listen(port, () => {
console.log(Server running at http://localhost:${port}/
);
});
3. Java 使用 Spring Boot
创建Spring Boot项目(推荐使用Spring Initializr: https://start.spring.io/)
GameController.java:
java
package com.example.gamestore;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@RestController
public class GameController {
// 假设的游戏列表
private List<Map<String, Object>> games = Arrays.asList(
Map.of("id", 1, "name", "Cyberpunk 2077", "price", 59.99),
Map.of("id", 2, "name", "The Witcher 3", "price", 39.99)
);
@GetMapping("/games")
public List<Map<String, Object>> getGames() {
return games;
}
}
注意:这些示例提供了游戏商城中游戏列表的基本GET请求处理。在实际应用中,你需要考虑更多功能,如用户认证、支付处理、数据库集成(用于持久化游戏数据)、错误处理、前端界面开发等。
每个示例都仅提供了后端部分,前端部分(如HTML, CSS, JavaScript)需要你根据需求自行开发,或者使用现有前端框架(如React, Vue, Angular)来构建。