无法从使用get-FLASK和POSTMAN的游戏列表中获得单个游戏



我目前正在学习Python FLASK。我可以使用GET显示所有游戏。不过,我也想使用GET来显示一个特定的游戏。

当我在邮递员上运行我的API时,它返回一个错误404NOT FOUND。在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写,然后重试。

我的游戏模型:

def get_game(gamename):
"""
Returns a game specified from the database if it exists.
"""
return mongo.db.games.find_one({'gamename': gamename})

以下是我的get_game((函数,用于获取特定游戏,而不是所有游戏:

def get_game(gamename):
game = game_model.get_game(gamename)
if request.method == 'POST':
game = request.get_json()
return jsonify(game)

我的API:

http://localhost:5000/api/games/<gamename>

在此处输入图像描述

这是的一个例子

from flask import Flask, jsonify, request
products = [
{'id': 1, 'name': 'Product 1'},
{'id': 2, 'name': 'Product 2'}
]
app = Flask(__name__)

@app.route('/products')
def get_products():
return jsonify(products)

@app.route('/product/<int:id>')
def get_product(id):
product_list = [product for product in products if product['id'] == id]
if len(product_list) == 0:
return f'Product with id {id} not found', 404
return jsonify(product_list[0])

此外,我在这里找到了另一个例子。

@app.route("/api/games/<string:gamename>", methods=["GET"])
def get_game(gamename):
game_name = games.find_one_or_404({"gamename": gamename})
return YourModel(**game_name).to_json()

最新更新