文档章节

#SORA#flask-RESTful的一些坑

Hochikong
 Hochikong
发布于 2015/03/21 23:04
字数 318
阅读 2002
收藏 2

上个星期看文档,基本熟悉flask和curl的用法,于是写个程序:

__author__ = 'hochikong'
from flask import Flask,request
from flask.ext.restful import Resource,Api,reqparse

app = Flask(__name__)
api = Api(app)

todos = {}

parser = reqparse.RequestParser()
parser.add_argument('name',type=str,help='get the name')


class TodoSimple(Resource):
    def get(self,todo_id):
        return {todo_id:todos[todo_id]}

    def put(self,todo_id):
        todos[todo_id] = request.form['data']
        return {todo_id:todos[todo_id]},201

class GetName(Resource):
    def post(self):
        args = parser.parse_args()
        name = {}
        name['ac'] = args['name']
        return name
        
        #args = parser.parse_args()
        #name = args['name']
        #return name

api.add_resource(TodoSimple,'/<string:todo_id>')
api.add_resource(GetName,'/getname')

if __name__ == '__main__':
    app.run()


注意代码中注释的部分,在使用reqparse时,如果按照注释部分写,会显示如下问题:

hochikong@hochikong-P41T-D3:~$ curl http://localhost:5000/getname -d "name=hochikong" -X POST -v
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 5000 (#0)
> POST /getname HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost:5000
> Accept: */*
> Content-Length: 14
> Content-Type: application/x-www-form-urlencoded
> 
* upload completely sent off: 14 out of 14 bytes
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: application/json
< Content-Length: 11
< Server: Werkzeug/0.10.1 Python/2.7.6
< Date: Sat, 21 Mar 2015 15:00:18 GMT
< 
* Closing connection 0

虽然是200,但是没有任何数据返回


我想,args['name']输出的的确是一个字符串,但是flask-RESTful的响应应该是:

Content-Type: application/json

而没有把单个字符串弄成json格式的途径

但一旦放入python字典中,return的结果就是一个合法的json输出.

我猜的哇 :)

© 著作权归作者所有

共有 人打赏支持
Hochikong
粉丝 19
博文 113
码字总数 59961
作品 1
广州
程序员
后端技术精选

HTTPS 原理剖析与项目场景 最近手头有两个项目,XX 导航和 XX 产业平台,都需要使用 HTTPS 协议,因此,这次对 HTTPS 协议做一次整理与分享。 使用缓存应该注意哪些问题? 如何使用缓存,怎么...

掘金官方
01/02
0
0
SpringBoot技术栈搭建个人博客【后台开发】

前言:在之前,我们已经完成了项目的基本准备,那么就可以开始后台开发了,突然又想到一个问题,就是准备的时候只是设计了前台的RESTful APIs,但是后台管理我们同样也是需要API的,那么就在...

我没有三颗心脏
06/21
0
0
.net core项目实战汇总

背景 项目需求其实很简单,类似于一个简单的审批+简单的任务管理系统,但需要同时有PC端和APP端。 由于项目规模不大,时间也比较宽裕,组内商量下来干脆全采用新技术来踩踩坑。这么一提,大家...

04/26
0
0
我们必须要知道的RESTful服务最佳实践

看过很多RESTful相关的文章总结,参齐不齐,结合工作中的使用,非常有必要归纳一下关于RESTful架构方式了,RESTful只是一种架构方式的约束,给出一种约定的标准,完全严格遵守RESTful标准并不...

操张林
06/07
0
0
HttpPutFormContentFilter为什么不支持HTTP.DELETE啊...

HttpPutFormContentFilter 今天在学习RestFul接口的时候发现从Postman发出来的PUT和DELETE请求参数没办法被SpringMvc获取到,百度了一下发现了HttpPutFormContentFilter,使用之后PUT可以了但...

Sgmder
2017/01/13
339
2

没有更多内容

加载失败,请刷新页面

加载更多

Future,Thread,Callable,Executors.newXXXThreadPool

package cunrent.future;import java.util.concurrent.*;public class FutureCook { public static void main(String[] args) throws InterruptedException, ExecutionExcept......

noteman
6分钟前
0
0
shing boot 做session共享 redis

因为多台服务器负载均衡,在获取客户端的sessionId的时候,会出现第一次和第二次不一样,因为负载均衡的缘故,你的服务器最少两台,那么客户端连接第一次请求和第二次请求如果不是同一台服务...

小马_wolf
10分钟前
0
0
【Springboot+mybatis】 解析Excel并批量导入到数据库

【Springboot+mybatis】 解析Excel并批量导入到数据库置顶 2018年01月16日 20:05:52 冉野丶 阅读数:4060 标签: excel导入数据库 文件上传 excel解析 更多个人分类: POI 工作问题归纳...

奥特曼之王
12分钟前
1
0
Mac OS下安装Axure RP 8.0.0.3312 中文破解版

Mac下一款快速原型设计工具——Axure RP,有了它可以大大提高你的工作效率。此次带来的是Axure RP 8.0.0.3312 版本。 介绍 Axure RP 能帮助网站需求设计者,快捷而简便的创建基于网站构架图的...

james_laughing
13分钟前
0
0
【Guava】使用Guava的RateLimiter做限流

一、常见的限流算法 目前常用的限流算法有两个:漏桶算法和令牌桶算法。 1.漏桶算法 漏桶算法的原理比较简单,请求进入到漏桶中,漏桶以一定的速率漏水。当请求过多时,水直接溢出。可以看出...

大海201506
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部