我的REST API知识不是最新的。当我们在实现REST API时应用过滤器或排序时,我知道我们曾经将<div class="container">
<div class="circle">
<h2>I am a parent/care giver</h2>
</div>
<div class="circle">
<h2>I am a teenager</h2>
</div>
</div>
和?
放置到端点,如下所示:
&
但是,当我看到Flask示例时,我从未见过有人将这些参数添加到端点,例如
/actors?attr={attr_value} Example: /actors?name=”Bob”
Filters out all actors that don’t have “Bob” in their name (Should allow for similar filtering for any other attribute)
使用Flask实现REST API时,应用过滤器或排序的正确方法是什么?
答案 0 :(得分:1)
对于简单的GET
请求,有几种方法可以传递查询参数:
GET
带有正文的请求是可能的,但通常被认为是不良做法。
以下示例提供了两个端点,每个端点都有一个示例。
import json
import flask
from flask import Flask
from flask import request
app = Flask(__name__)
# GET http://0.0.0.0:5000/api/v1/actors?gender=male
@app.route("/api/v1/actors", methods = ['GET'])
def get_players():
if request.args['gender'] == 'male':
return json.dumps([{ 'id': 23, 'gender': 'male' }], indent=2)
else:
return json.dumps([])
# GET http://0.0.0.0:5000/api/v1/actors/john/
@app.route("/api/v1/actors/<actor_id>/", methods = ['GET'])
def get_player_by_id(actor_id):
return json.dumps({ 'id': actor_id, 'gender': 'male' }, indent=2)
app.run()
在这里我不会解释REST,但是返回值和端点结构应该可以使您有所了解。