文档章节

#SORA#flask-RESTful的一些坑

ClaraMic
 ClaraMic
发布于 2015/03/21 23:04
字数 318
阅读 4.5K
收藏 2

码上生花,ECharts 作品展示赛正式启动!>>>

上个星期看文档,基本熟悉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输出.

我猜的哇 :)

© 著作权归作者所有

ClaraMic

ClaraMic

粉丝 19
博文 113
码字总数 59961
作品 1
广州
程序员
私信 提问
加载中
请先登录后再评论。
Restful API 设计实践 - 知乎

前言 第一次接触Restful API设计规范是在本科的软工课上,当时懵懵懂懂的跟着助教的指导了解了Restful API的一些内容。后来在实验室产品的开发中第一版后端的API设计被同学吐槽不够Restful。...

一亩三分地
02/26
0
0
【WebApi】初探.NET CORE WEB API(RESTful风格)

前面有4篇系列博客 (一)Asp.net web api中的坑-【找不到与请求 URI匹配的 HTTP 资源】 (二)Asp.net web api中的坑-【http get请求中的参数】 (三)Asp.net web api中的坑-【http post请...

osc_yfkp2j0l
2018/02/08
4
0
flask-restful 初探

flask-restful 是 Flask 的一个用于支持 RESTful 的插件。 刚开始用对我来说还是比较坑的。。。 目录结构 / /test /test/common /init.py /test/resources /init.py /test.py init.py app.py...

osc_rlzm0f6h
2170/06/18
6
0
后端技术精选

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

掘金官方
2018/01/02
0
0
Python使用函数计算与API网关产品组合之踩坑成果-praffa轻型框架

话说不是在踩坑,就是在踩坑的夜里。学了Python三脚猫的功夫,打算彻底放弃ECS,使用函数计算和API网关创建一个后端应用。一圈下来,好不容易踩过去了,这就把总结留下的一个小框架贡献出来,...

用道云
2019/03/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybatis之foreach用法

在做mybatis的mapper.xml文件的时候,我们时常用到这样的情况:动态生成sql语句的查询条件,这个时候我们就可以用mybatis的foreach了 foreach元素的属性主要有item,index,collection,ope...

osc_0hs26yvj
17分钟前
3
0
css笔记整理

0索引 1html标签块 2选择器 3CSS的引入方式: 4CSS浮动 :流式布局 5盒子模型 6案例一网站首页 7案例二网站注册页面 1html标签块 div标签:默认占- -行,自动换行 span标签:内容显示在同- -行 <!...

osc_3grma05a
18分钟前
5
0
js获取图片的EXIF,解决图片旋转问题

相信大家在做项目的时候会遇到在canvas里加入图片时,图片发生90°,180°的旋转。当时的你肯定时懵逼的,为毛。 其实这就是图片的EXIF搞的鬼。 什么是EXIF 简单来说,Exif 信息就是由数码相...

osc_ytmgp8ea
20分钟前
6
0
StringUtils.isEmpty()和isBlank()的区别

一、概述 两种判断字符串是否为空的用法都是在程序开发时常用的,相信不少同学在这种简单的问题上也吃过亏,到底有什么区别,使用有什么讲究,带着问题往下看。 二、jar包 commons-lang3-3....

osc_1mofhvr6
21分钟前
11
0
H5嵌入钉钉

1,需要在项目种引入钉钉官方的js <script type="text/javascript" src="http://g.alicdn.com/dingding/dingtalk-jsapi/2.3.0/dingtalk.open.js" ></script> 或者npm 也可以的 2,钉钉......

osc_ucqb2u3q
22分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部