繁体   English   中英

将客户端发送到服务器的数据保存在 REST API 中

[英]Save data sent by the client to the server in a REST API

我对 RESTful 服务的了解几乎为零,而且我已经为这个问题苦苦挣扎了几天。

我想要实现的是让客户端通过 REST 与其他客户端通信,修改保存在 api 文件中的特定变量,以便稍后另一个客户端可以请求已更改的变量。

类似于这样的东西:

app = Flask(__name__)
aString = ""

@app.route("/")
def home():
    return "<h1>THE WORST REST API</h1>"

@app.route("/write")
def write():
    aString = "chop"
    return home()

@app.route("/read")
def read():
    return aString 
  • 客户端调用/read,收到“”
  • 客户端调用/write,aString变成“chop”
  • 另一个客户端调用 /read,收到“chop”

现在,这段代码不可能做到这一点(虽然我不确定为什么,我想原因是每个 REST 请求都会重新加载 API,因此对 aString 所做的更改会立即丢失)但是我需要某种方法来实现这一点。

正如我所说,我对这些东西绝对一无所知,但我绝对必须让 2 个客户端以一种或另一种方式使用此字符串进行通信,同时使事情尽可能简单。

此外,由于我是在工作环境中编写代码,因此我在下载/安装工具时有点受限制,我无法下载太多东西只是为了让这个小东西工作。 只要我需要的所有库/模块都可以使用“pip install”简单地检索,任何解决方案都值得赞赏。

非常感谢任何愿意回答的人!

首先,HTTP 是无状态的。 默认情况下,服务器和客户端都不会在请求之间保存状态。

这就是为什么你的aString在第一个请求后消失了。

您有多种选择:

  • 将字符串存储在文本文件或数据库中
  • 利用会话(例如保存 cookie 或使用类似技术)

您选择哪种方式取决于您的要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM