flask_restful跨域
时间: 2023-07-02 15:05:38 浏览: 247
在 Flask-RESTful 中实现跨域请求可以通过 Flask-CORS 扩展来实现。
首先安装 Flask-CORS:
```
pip install flask-cors
```
然后在 Flask 应用中,初始化 Flask-CORS 并指定允许跨域请求的来源:
```python
from flask import Flask
from flask_cors import CORS
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
# 初始化 CORS 扩展
cors = CORS(app, resources={r"/*": {"origins": "*"}})
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run(debug=True)
```
在上面的示例中,我们通过指定 `origins` 参数为 `*` 来允许所有来源的跨域请求。如果你只想允许特定的来源访问你的 API,你可以将 `origins` 参数设置为相应的 URL。
如果你想在某个资源或方法上禁用 CORS,可以使用 `@cross_origin` 装饰器。
```python
from flask import Flask
from flask_cors import CORS, cross_origin
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
# 初始化 CORS 扩展
cors = CORS(app, resources={r"/*": {"origins": "*"}})
class HelloWorld(Resource):
# 禁用跨域请求
@cross_origin()
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run(debug=True)
```
在上面的示例中,我们使用 `@cross_origin` 装饰器来禁用 HelloWorld 资源的跨域请求。
阅读全文