使用flask开发RESTful架构的api服务器端(3)–简单的RESTful services

上一章中已经介绍了如何安装和使用flask,下面开始搭建一个RESTful架构的services了,RESTful架构在第一章中就已经进行了介绍,简单的说我们要用HTTP的4个方法来操作我们的服务器资源,这章的任务就是上flask创建4个HTTP方法的动作,这里使用学生信息库为用例;

学生信息资源为:

资源名称 资源类型
学生号 int
姓名 str
年龄 int
籍贯 str
平均分 float

第一步先将数据保存在内存中,使用数据库进行信息存储在之后章节再继续介绍;

1、创建flask服务器

首先与第二章的用例相同创建一个flask的服务器:

这样就在192.168.1.1的1234端口上开启了监听服务器了,此时服务端只对’/’请求有响应,其它路径的响应都会返回404错误码;

2、POST:上传信息

HTTP4个方法的第一个是POST,通常用来上传信息:

使用flask的request方法可以很方便的得到请求数据,使用json来进行数据传输也是非常好用的方法,使用curl命令来进行测试:

注意需要将Content-Type设置为json flask的request模块才会对请求数据部分做json格式得解析;

如果返回200状态码并回复success,则数据添加成功;

3、PUT:更新信息

PUT方法通常用来进行数据的更新,相应的curl命令为:

以uri中参数的数值作为key,查找需要修改的信息条目,服务端代码为:

如果找不到指定id的学生就会返回400错误,如果修改成功则返回修改后的学生信息;

4、DELETE:删除指定信息

使用DELETE来删除指定的学生信息,相应的请求信息为:

服务端处理代码为

5、GET:获取信息

使用GET方法获取学生信息,相应请求信息为:

服务端处理代码为:

实现了4个方法后,一个简单的web服务器就成型了。更复杂的功能可以在此基础上继续加强,下一章将介绍如何使用flask+数据库来存取数据;

1 收藏 7 评论

相关文章

可能感兴趣的话题



直接登录
最新评论
  • huooyk Python爱好者 2016/05/08

    1:对于curl的POST命令,有2个细微的错误,A:包裹JSON数据的居然用的是中文状态下的‘’而不是英文状态下的''.B:请在student后面加个/号,不然curl命令是不能通过的。

  • huooyk Python爱好者 2016/05/08

    2:对于update_students()函数,请把上头的methods的改写成@app.route('/students/', methods = ['PUT'])否则将运行失败。并将原来的

    对于相关的curl命令也请在students后面加上/号。

    • huooyk Python爱好者 2016/05/08

      补充2:对于update_students()函数,请把后面的return修改成

      return jsonify(student[0])  否则会报错

  • huooyk Python爱好者 2016/05/08

    你需要避开的坑,1:@app.route("/students/",methods=["DELETE"]),请保证你的路由的格式,2:GET:获取信息中的函数名,重复了,哎,3:最后返回应该是这个样子return jsonify(student[0])

  • 老郎   2016/06/04

    坑太多了...

  • 老郎   2016/06/04

    直接打击积极性啊

     

  • xinbucun 农村外出务工人员 2016/06/05

    代码好像未经测试就发布了啊,很多地方报错 : (

跳到底部
返回顶部