📜  http 动词 rest (1)

📅  最后修改于: 2023-12-03 15:01:19.661000             🧑  作者: Mango

HTTP动词和REST介绍

在 Web 开发中,HTTP 动词和 REST 是非常重要的概念。HTTP 动词用于描述客户端(浏览器或 app)发起的请求类型,而 REST 是一种编写 Web 服务的架构风格。

HTTP 动词

HTTP 是 Web 上最基本的通信协议,它使用一些定义好的动词来描述客户端发起的请求,比如:

  • GET:请求获取指定资源的表示形式。
  • POST:提交指定资源的数据。
  • PUT:更新指定资源的表示形式。
  • DELETE:请求删除指定资源。

除此之外,HTTP 还定义了一些其他的动词,如 HEAD、OPTIONS、TRACE、CONNECT,不过这些动词在 Web 开发中比较少见。

在 REST 中,HTTP 动词和资源具有相应的对应关系。比如,通过 POST 创建一个资源,通过 PUT 更新一个资源,通过 DELETE 删除一个资源。

下面是一个使用 HTTP 动词的示范代码片段:

import requests

url = 'https://api.example.com/user'
data = {'name': 'John', 'age': 25}

# POST 请求
response = requests.post(url, json=data)

# PUT 请求
response = requests.put(url + '/1', json=data)

# GET 请求
response = requests.get(url + '/1')

# DELETE 请求
response = requests.delete(url + '/1')
REST

REST(Representational State Transfer,表现层状态转移)是一种 Web 服务架构风格,它是一组架构约束和原则,常常被用于编写 Web 应用程序。

REST 中最重要的两个概念是资源和 URI(Uniform Resource Identifier,统一资源标识符)。资源是一种通过 URI 表示的抽象概念,它可以是实体的一种形式,或是一种虚拟的概念。URI 是唯一标识资源的字符串,可以通过 HTTP 动词来对资源进行操作。

下面是一个使用 REST 的示范代码片段:

from flask import Flask, request

app = Flask(__name__)

@app.route('/users', methods=['POST'])
def create_user():
   # 向数据库中写入新用户信息
   return 'user created successfully'

@app.route('/users/<int:user_id>', methods=['PUT'])
def update_user(user_id):
   # 根据 user_id 更新用户信息
   return 'user updated successfully'

@app.route('/users/<int:user_id>', methods=['GET'])
def get_user(user_id):
   # 根据 user_id 获取用户信息
   return 'user info'

@app.route('/users/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
   # 根据 user_id 删除用户信息
   return 'user deleted successfully'

在这个示例中,我们使用 Flask 编写了一个用户管理的 Web 服务,通过 URI /users 表示用户资源。使用 POST、PUT、GET 和 DELETE HTTP 动词对用户资源进行操作。