问题标签 [flask-restful]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
15685 浏览

python - Flask-restful:将复杂对象编组为 json

我有一个关于烧瓶宁静扩展的问题。我刚开始使用它并面临一个问题。我有flask-sqlalchemy连接多对一关系的实体,我希望那个安静的端点返回父实体及其所有子实体,以json使用编组器。在我的情况下 Set 包含许多参数。我查看了flask-restful docs,但没有任何解释如何解决这种情况。

好像我错过了一些明显的东西,但无法找出任何解决方案。这是我的代码:

现在当我打电话时,/api/set/1我得到服务器错误:

TypeError: 'Set' object is unsubscriptable

所以我需要一种方法来正确定义端点返回这个json的set_marshaller:

我很感激任何帮助。

0 投票
1 回答
1697 浏览

android - 如何从 Android 应用程序调用用 Python 编写的 Web 服务

这是我的网络服务代码

我可以在我的浏览器中调用它,使用http://sheltered-taiga-3258.herokuapp.com/toi/<input parameters>我正在从 Android 设备上的用户那里收集输入参数。显然,Web 服务返回一个 JSON 数据,我需要在 android 应用程序的客户端显示该数据。我浏览了很多关于 android 和 web 服务的帖子和教程,但没有成功,因为很多都有 PHP 中的 POST 请求和服务的 web 服务示例。我想为 GET 做这件事,服务在烧瓶中。

请帮忙谢谢。

编辑:

我正在使用 HttpGet 对象调用 Web 服务,并将我的 URL 作为参数传递给它。

我将 myURL 构建为

在这里,我将 myURL 设为 http://sheltered-taiga-3258.herokuapp.com/toi/hc+stays+toll+collection但我希望以这种方式

http://sheltered-taiga-3258.herokuapp.com/toi/HC%20stays%20toll%20collection%20in%20kolhapur%20city

我知道有一些 url 编码问题,但不知道如何解决。

0 投票
2 回答
2097 浏览

python - Flask-Restful:通过 POST 请求将列表传递到 MongoDB

我正在使用 Python、Flask-Restful w/pymongo 为新的 Web 服务构建 API。

示例 MongoDB 文档如下所示:


进口:


班上:


当我 CURL 发布时,我使用这个:


但是,这是保存在我的文档中的内容:


它仅存储 curl 中为“web”提供的最后一个值。我还尝试使用带有多个 -d 参数的 CLI 命令,如reqparse 文档中所述,但这会引发 400 - BAD REQUEST 错误。

任何想法为什么它只保存最后一个值而不是所有值作为列表?

0 投票
1 回答
2020 浏览

python - 请求调用之前的 Flask-Restful

我想使用Flask-RESTFUL创建一个 API ,但有些东西我找不到。我不想重复自己的每个请求,所以我考虑使用 before_request() 和 tear_down() 方法。

0 投票
1 回答
1437 浏览

python - 如何从 SQLalchemy 模型创建 json 树结构

我正在尝试使用 Flask 创建 Web 服务,我的 Web 服务需要返回属于配置文件的所有活动的 json 编码树结构。

我的模型:

我需要以下结构:

我尝试创建嵌套的字典和字典列表,但每次我都卡住了。最终作为 1 级元素的 3 级元素或仅返回 2 级的树。

经过一番搜索,我发现我需要创建一个带有节点的队列,其中包含一个名称和一个子节点列表,然后将节点添加到树中。

我使用以下函数创建了队列:

现在我不知道如何进行,或者我是否走在正确的道路上。任何帮助都感激不尽

编辑

根据Codegeek 的回答,我创建了以下内容:

0 投票
3 回答
2277 浏览

python - 使用 Flask-Restful 的两个变量 URL

这似乎会出现很多,但我找不到任何文档。

我正在编写一个 api,我希望 url 看起来像这样:

使用 Flask-restful,我将 url 定义为

但是 Werkzeug 不喜欢这样,并在 werkzeug/routing.py 中引发了 BuildError

当我使用 add_resource 定义 url 时,

并硬连线地址,一切正常。

如何定义 url 以获取两个变量?

编辑

这是产生错误的相关代码:

0 投票
3 回答
2063 浏览

flask - 集合中对象列表的属性错误?

我们使用 Flask-Restful 来实现 API。作为数据库,我们使用 MongoDB 和 MongoEngine 作为 ODM。为了让 MongoEngine 与 Restful 一起工作,我们关注了这篇博客文章。为了获得正确的 json 格式,我们使用内置的marsheling-methods。这对于单个对象(例如集合中的一项)非常有效,但是当编组对象列表(例如集合中的所有项)时,会引发AttributeError(尽管我们使用与单个对象相同的语法)。这就是我们的模型和视图的样子(我不粘贴路线,因为它们在单独的文件中并且可以工作)。

模型:

意见:

完整的堆栈跟踪:

0 投票
1 回答
2232 浏览

python-2.7 - Flask-Restful 支持的 API 返回 404 错误

我在一个项目中使用了 Flask-Restful,我还使用工厂模式来创建Flask对象。现在的问题是,当我尝试访问时,Flask 给了我 404 错误,http://localhost:5000/api/v1/user/但是当我(通过调试器)探索 Flask 应用程序对象url_map时,我的 API 规则就在那里。所以,如果有人遇到同样的问题,我会采取任何可能的解决方案。

我有以下创建 API 应用程序的函数:

UserAPI 类的代码(Flask-Restful 使用):

factory.create_app功能:

Python 版本 2.7 Flask v. Flask-Restful 版本

0 投票
1 回答
1676 浏览

python - Flask 多个 URL 处理程序部分处理 URL

是否可以在烧瓶中定义处理 url 特定部分的 url 路由器并将 url 传递给下一个 url 处理程序以进行进一步处理?

用例将是 url 中的静态部分,它重复很多并且总是需要相同的处理。 /user/1/something

/user/1/something-else

/user/2/...

理想情况下,处理程序将处理该/user/<id>部分(加载数据库记录等)并将结果存储到本地上下文。然后另一个处理程序将处理剩余的 url。这将使我也能够更换user部件(例如,/user/<name/无需接触所有其他路由器。

这在烧瓶中是否可行,如果可以,如何?

0 投票
0 回答
1104 浏览

python - Flask-RestFul:请求在使用 Postman 时效果很好。但是从 android 发出请求时返回 500 响应

我正在使用 flask-restful 的请求解析器来解析通过 POST 请求发送的 JSON 中的参数。

该请求在使用 Postman 工具时运行良好。但从 android 发出请求时返回 500 响应。

我的资源类是:

下面应该是对该资源的完全有效的请求:

该请求在使用邮递员测试 API 时完美运行,但从 android 应用程序中发送请求时,服务器返回 500 响应代码。发送此请求时,我得到以下回溯:

我一开始以为是 JSON 格式不正确,但是 android 发送的 JSON 是完美的,和邮递员的请求一样。内容类型标头也完好无损。事实上,如果请求格式不正确,服务器应该返回 400 响应而不是 500。

任何想法可能是什么原因造成的?