REST API 图像处理?

REST API with image processing?

这可能不是一个很好的问题,但我是 API 和 REST API 的新手。我了解 API 的作用,并对 REST API 的(GET、POST、SET 等)有一个大致的了解。

令我感到困惑的是,在我见过的几乎所有示例中,REST API 都是与数据库相关的(查询数据、更新数据、插入新数据等)。所以我想知道,如果我想创建一个 API 可以发送图像的地方,在后端处理它(在 Python 中)和 return 一些图像和注释,这仍然是被认为是 REST API,这种东西有 conventions/advice 吗?

执行此操作的最佳方法是什么?对于上下文,我从 React Native 前端获取图像并希望在 python 中进行图像处理(我理解这仍然很模糊)。

你绝对可以做到这一点,你必须与数据库进行交互才能成为 API,例如,你可以创建一个简单的函数来获取

from flask import Flask, request

app = Flask(__name__)


def do_image_processing(image):
  print("doing some image processing ")
  return "Response"
  
  
@app.route('/')
def index():
  image = request.files.get('image')
  response = do_image_processing(image)
  return response

当您 API 收到图像时调用,进行一些处理,然后 return 反馈给用户

您还可以在这里查看 Github 上的 old project,这是一个 API,它接收图像并使用移动对象根据图像推荐标签 希望这是与您的任务相关

简单的试金石:如果你能把它想象成一个网站,那么它可以是一个 REST API。

毕竟,REST 是万维网的 architectural style,也就是说它是架构约束的集合,确保网络具有它所具有的属性。

通常的做法是从 HTTP 开始,它是 transferring documents over a network 的应用协议。所以你创建了一个门面,人们通过检索文档从你那里获取信息,并通过转发文档向你发送信息,然后在这个门面后面你做真正的工作。

if I wanted to create an API where I can send an image, process it in the backend (in Python) and return some image and annotations, is this still considered a REST API

您可以构建一个 REST API 来做到这一点。提示:我们已经有了 HTML 表单和支持文件上传的输入控件,以及可以将文件嵌入到 HTTP 请求中的表单处理规则等。