问题标签 [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.
python - Flask-Restful:如何发送非 json POST 参数?
我在使简单(非 json)参数与 POST 一起工作时遇到问题。仅以他们教程中的简单示例为例,我无法在任务作为参数传递的情况下进行单元测试。但是任务永远不会传入。它没有。
单元测试:
请问我错过了什么?
python - Angular 的 Flask RESTful 跨域问题:PUT、OPTIONS 方法
我使用 Flask Restful 开发了一个小型的只写 REST api,它接受来自少数可能具有更改 IP 地址的客户端的 PUT 请求。我的客户是运行 AngularJS 前端的嵌入式 Chromium 客户端;他们使用一个简单的魔法密钥对我的 API 进行身份验证——这对于我非常有限的规模来说已经足够了。
我现在正在测试部署我的 API,我注意到 Angular 客户端正在尝试向我的 Flask 服务发送一个 OPTIONS http 方法。与此同时,我的 API 正在回复 404(因为我还没有编写 OPTIONS 处理程序,只有一个 PUT 处理程序)。似乎在发送不是 POST 或 GET 的跨域请求时,Angular 会在服务器发送一个 pre-flight OPTIONS 方法,以确保在发送实际请求之前跨域请求被接受。那正确吗?
无论如何,我如何允许所有跨域 PUT 请求到 Flask Restful API?我之前使用过带有(非 RESTful)Flask 实例的跨域装饰器,但是我是否需要在我的 API 中也编写一个 OPTIONS 处理程序?
python - 烧瓶休息的 CORS 上的 TypeError
在 flask-restful 上尝试新的 CORS 功能时,我发现只有在函数返回字符串时才能应用装饰器。
例如,修改快速入门示例:
抛出:
TypeError: 'dict' object is not callable
难道我做错了什么?
python - 调用flask restful API 资源方法
我正在使用 Flask 创建一个用于移动平台的 API,但我也希望应用程序本身消化 API 以呈现 Web 内容。我想知道在 Flask 中访问 API 资源方法的最佳方法是什么?例如,如果我将以下类添加为资源:
然后在我想要的控制器中:
如何从 FooAPI 获取 post() 的返回值?我可以通过 api 变量以某种方式做到这一点吗?还是我必须在控制器中创建一个 FooAPI 实例?似乎必须有一种简单的方法来做到这一点,我只是不明白......
python - Flask-RESTful - 返回自定义响应格式
我根据 Flask-RESTful 文档定义了一个自定义响应格式,如下所示。
我有以下资源类。
我希望get()
函数返回application/octet-stream
类型和put()
函数返回默认值application/json
。
我该怎么做呢?文档在这一点上不是很清楚。
python - Flask 或 Werkzeug/0.9.4 破坏 POST 数据
我发现了一些我认为是由 Werkzeug/0.9.4 引起的 Flask-restful 行为,我不明白。当我尝试发布包含“=”的有效 JSON 时,Multidict 的使用似乎破坏了我的数据。
这是我的测试 JSON:
这是 POST 方法。
如果我使用带有 application/json 的 cURL 发布,那很好。我在 request.data 中正确获取了 POSTed JSON。稍后我需要将其渲染回 JSON,但没问题。
如果我通过 cURL 使用 application/x-www-form-urlencoded 发布,那么我应该能够获取 request.form 中的数据。但是,似乎有些东西正在破坏我的数据。
“=”符号被用作某种记录分隔符并破坏 POSTed JSON。
有没有人有任何想法?我错过了一些明显的东西吗?
谢谢!
flask-restful - 如何在 flask-restful 中指定参数是可选的
我有这样的代码:
这仍然要求我提供rating
参数,400 Bad Request
如果不存在则抛出。
我错过了什么?
python - Flask-RESTful API:多个复杂的端点
在我的 Flask-RESTful API 中,假设我有两个对象,用户和城市。这是一对多的关系。现在,当我创建我的 API 并向其添加资源时,我所能做的似乎就是将非常简单和通用的 URL 映射到它们。这是代码(不包括无用的东西):
如您所见,我可以做任何我想做的事情来实现一个非常基本的功能。我可以 GET、POST、PUT 和 DELETE 两个对象。但是,我的目标有两个:
(1) 能够使用城市名称等其他参数进行请求,而不仅仅是城市 ID。它看起来像:
api.add_resource(CityAPI, '/api/city/<string:name>', endpoint='city')
除了它不会给我这个错误:
AssertionError:视图函数映射正在覆盖现有端点函数
(2) 能够将两个资源组合在一个请求中。假设我想让所有用户与某个城市相关联。在 REST URL 中,它应该类似于:
/api/cities/<int:id>/users
我如何用 Flask 做到这一点?我将它映射到哪个端点?
基本上,我正在寻找将我的 API 从基本变为有用的方法。
python - 在 Google App Engine 上运行简单的 flask_restful 应用程序时出现 RuntimeError
我有以下非常简单的应用程序:
当我运行它时,我得到以下异常:
所以我试图把我的整个应用程序放到我认为的请求上下文中。在上面的代码中,Flask 对象和 Api 对象都被实例化了一次,并且可以被服务器多次调用。从回溯中,看起来实例化应该发生在请求上下文中,所以我将它包装成这样:
这仍然会引发同样的错误。发生了什么事,“请求上下文”是什么意思,我该如何解决这个问题?
python - 如何在python中向flask-restful添加参数?
如何创建执行以下操作的 api 调用:
目前尚不清楚我如何从内部处理它:
另外,我注意到我只能将 add_resource 添加到一个级别: