【问题标题】:If this RESTful API in Flask? Why not?如果这个 RESTful API 在 Flask 中?为什么不?
【发布时间】:2020-05-19 21:38:03
【问题描述】:

真正的 RESTful API 看起来像超文本。每个可寻址单元 信息带有明确的地址(例如,链接

https://restfulapi.net

以下代码包含完整的网址。因此,它被称为 RESTful API。

@app.route('/todo/api/v1.0/tasks', methods=['GET'])
def get_tasks():
    return jsonify({'tasks': tasks})

以下代码不包含完整的网址。那么,它不叫 RESTful API 吗?

@app.route("/writeOutput", methods=['POST'])

def writeOutput():
    return "Hello, World!"

我的问题是:当我们使用 POST 而不是完整的 url 时,它叫什么?

【问题讨论】:

标签: python rest flask


【解决方案1】:

您发布的urls都不是完整的urls。它们都是同一应用程序中的路径 (uri),因此根据specs,它们有资格成为 RESTful。

但是,如果您拥有或计划拥有除v1.0 之外的其他版本,那么它不被限定为 RESTful API,因为它们应该只是名词,即您应该将其写成 /todo/api/{id}/tasks 这个代替。

【讨论】:

    【解决方案2】:

    我认为 url 与 RESTful 的 api 没有任何关系,您可以详细阅读 here

    如果您使用 post 方法调用 /todo/api/v1.0/tasks,它将返回您 method not allowed,因为该链接仅对 get 方法有效。 如果你使用 post 方法向/writeOutput 发送请求,def writeOutput(): 将被调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-19
      • 2013-11-07
      • 1970-01-01
      • 2017-02-24
      • 2021-12-10
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多