首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用blueprints和restfull访问flask中的post数据

如何使用blueprints和restfull访问flask中的post数据
EN

Stack Overflow用户
提问于 2016-05-18 16:25:27
回答 2查看 183关注 0票数 0

我到底如何使用blueprints和flask-restfull从flask应用程序中获取post数据?为什么这么难?

在views.py文件中

代码语言:javascript
复制
 api.add_resource(register, '/api/driver/register')

我的资源文件中:

代码语言:javascript
复制
from flask_restful import fields, marshal_with, reqparse, Resource
class register(Resource):
    def post(self):
        ACCESS MY POST DATA!!!!!!!!!!!!!
        return 'omg' 



curl -H "Content-Type: application/json" -X POST -d '{"f":"xyz","u":"xyz"}' http://0.0.0.0:5000/api/driver/register
EN

回答 2

Stack Overflow用户

发布于 2016-05-18 19:58:34

以下是您的示例的改编。根据您的导入,看起来您走上了正确的道路。我的示例只接受2个JSON参数,即email和mobile,并以JSON格式回显它们。您可以使用args['email']args['mobile']引用处理和业务逻辑的值。

代码语言:javascript
复制
from flask_restful import fields, marshal_with, reqparse, Resource
class register(Resource):
    def post(self):
        reqparse = reqparse.RequestParser()
        reqparse.add_argument('email', type=str)
        reqparse.add_argument('mobile', type=int)
        args = reqparse.parse_args()
        response = {'email': args['email'], 'mobile': args['mobile']}
        response_fields = {'email': fields.String, 'mobile': fields.Integer}
        return marshal(response, response_fields), 200
票数 0
EN

Stack Overflow用户

发布于 2016-06-11 00:06:01

这就是我要做的。

代码语言:javascript
复制
from flask_restful import fields, marshal_with, reqparse, Resource


class Register(Resource):

    def __init__(self):
        self.reqparse = reqparse.RequestParser()
        self.reqparse.add_argument('field_data_one', type=str, required=True, location='json')
        self.reqparse.add_argument('field_data_two', type=str, required=True, location='json')
        ...

    def post(self):
        args = self.reqparse.parse_args()

        obj = {
            'field_data_one': args['field_data_one'],
            'field_data_two': args['field_data_two']
        }

        return {'omg': obj}, 201

        # ACCESS MY POST DATA!!!!!!!!!!!!!
        # return 'omg'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37294075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档