python 写接口,两种跨域配置方便前后端测试开发

#!/usr/bin/env python
# -*- coding:utf8 -*-

import flask
import os
import sys
from flask import request, jsonify, Response
from flask_cors import CORS

interface_path = os.path.dirname(__file__)
sys.path.insert(0, interface_path)


class JSONResponse(Response):
    @classmethod
    def force_type(cls, response, environ=None):
        if isinstance(response, (list, dict)):
            response = jsonify(response)
            #response.headers['Access-Control-Allow-Credentials'] = 'true'
            #response.headers['Access-Control-Allow-Origin'] = '*'
            #response.headers['Access-Control-Allow-Methods'] = 'OPTIONS,POST'
            #response.headers['Access-Control-Allow-Headers'] = 'Content-Type, X-Requested-With'
        return super(Response, cls).force_type(response, environ)


server = flask.Flask(__name__)
CORS(server)
server.response_class = JSONResponse

上面代码中,第一种使用对response的headers属性进行配置,被注释掉的,第二种就是使用如上代码,不过注意下载代码最后不要也放在这里,因为这里使用了JSON封装返回结果。

from flask_cors import CORS



你可能感兴趣的:(python3,前后端)