0.前言

最近重点研究了yeelink平台的原理和使用,yeelink平台和多数云平台设计一样应用了RESTFul框架。嵌入式侧(或者是客服端侧)的相关技术研究的比较充分(个人这么认为),是不是该弄弄服务器侧的技术了!实现RESTFul的框架有很多,在这里我选择python的Eve框架,先从该框架入手学起。
Eve是一款Python的REST API框架,用于构建和部署高可定制的、全功能的RESTful的Web服务。Eve是一个开源项目,遵循BSD开源协议,已在Python 2.6、2.7以及Python 3.3版本下进行了非常全面的测试。(来自CSDN)

0.1 前提条件


使用Eve框架之前,需要安装python、cURL、MongoDB等工具,并且需要保证MongoDB处于运行状态。python和cURL的安装请google或百度查找相关资料。

1.安装esay_install

Eve框架的安装可使用pip工具或者easy_install,本文选择easy_install。安装esay_install可至以下网址下载ez_setup.py
复制ez_setup.py至硬盘中的某位置,例如保存至E:\temp。然后运行运行便执行整个下载和安装过程,最后会在D:\Python27\Scripts出现easy_install.exe。
(注意使用CD命令之前,需要修改盘符,修改盘符可输入E:或F:)


图1.1 运行ez_setup.py

a)假设python已安装于D:\Python27,若要添加该目录至环境变量
b)easy_install.exe位于D:\Python27\Scripts目录,同样需要添加该目录至环境变量


 
 
图1.2 修改环境变量
最后在控制台中输入命令便可完成Eve框架的安装
easy_install eve

2.安装MongoDB

Eve框架需要MongoDB的支持,MongoDB的安装和初步使用可参考以下博文:
请注意为了更方便的使用MongoDB可把MongoDB的bin目录加入环境变量。
启动MongoDB时刻指定数据目录,例如数据目录位于D:\MongoDB\data,可通过dbpath参数设置。
 mongod --dbpath D:\MongoDB\data


 
图2.1 启动mongoDB服务

3.快速开始

新建一个名为run.py的文件,具体代码如下:
from eve import Eve
app = Eve()
if __name__ == '__main__':
app.run()

再新建一个名为settings.py的文件,和run.py存放与同一个路径下,具体代码如下:
SERVER_NAME = '127.0.0.1:5000'
DOMAIN = {
'people': {},
}

虽然现在还无法理解Eve框架的种种细节,但是至少从settings代码中可以发现,现在的RESTFul服务主机为localhost,端口号为5000。运行run.py(注意运行run.py之前一定要开启mongoDB服务,请参考上一小节内容)


 
图3.1 Eve框架开始运行
此时若使用cURL工具测试当前的RESTFul API。
请注意要使用cURL工具时需要重新打开一个windows控制台,MongoDB 服务和Eve RESTFul服务的控制台均需要保持打开状态。可以输入:
curl -i http://127.0.0.1:5000


 
 
图3.2 cURL请求和返回结果
该例子的返回结果并没有特殊的含义,而返回的内容中包括可选的HATEOAS(该部分还需要研究,计算机或者互联网往往充斥着非常多的概念)。

4.总结

虽然例子没有什么特别的含义,但是可以看出MongoDB和Eve的RESTFul服务已经运行成功。未来几天还将总结一些简单的例子,希望本篇博文对各位有帮助。

5.参考资料

python Eve RESTFul 尝试笔记的更多相关文章

  1. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  2. Requests:Python HTTP Module学习笔记(一)(转)

    Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...

  3. 关于Python网络爬虫实战笔记③

    Python网络爬虫实战笔记③如何下载韩寒博客文章 Python网络爬虫实战笔记③如何下载韩寒博客文章 target:下载全部的文章 1. 博客列表页面规则 也就是, http://blog.sina ...

  4. python网络爬虫学习笔记

    python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...

  5. Python Built-in Function 学习笔记

    Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...

  6. python高级编程读书笔记(一)

    python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...

  7. [转]python实现RESTful服务(基于flask)

    python实现RESTful服务(基于flask) 原文: https://www.jianshu.com/p/6ac1cab17929  前言 上一篇文章讲到如何用java实现RESTful服务, ...

  8. python 调用RESTFul接口

    本周需要将爬虫爬下来的数据入库,因为之前已经写好PHP的接口的,可以直接通过python调用PHP接口来实现,所以把方法总结一下. //python编码问题,因为好久用,所以很容易出现 # -*- c ...

  9. python数据分析入门学习笔记儿

    学习利用python进行数据分析的笔记儿&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据 ...

随机推荐

  1. Rational rose下载,安装,破解

    rationalrose是一个镜像文件,后缀名是bin 之前尝试过用虚拟光驱来打开,不知道为什么,在win10的环境下,虚拟光驱硬是不能加载bin文件,后来拷到虚拟机上,打开了bin镜像文件,得到了一 ...

  2. 读写Excel

    有读Excel,也有生成相同格式的Excel.需要引用Microsoft.Office.Interop.Excel.dll public string ShiPin() { //获取项目下的目录 st ...

  3. 使用WMI来连接远端计算机

    1. wmi连接前提 利用wmi来连接远端计算机首先要具有远端计算机管理员的用户名和密码.如果计算机在域中的话,要有域管理员用户名和密码,或者是把域帐户加入本机管理员组中也可以. 2. 相关类的用法- ...

  4. (转)PHP自定义遍历目录下所有文件dir(),readdir()函数

    方法一:使用dir()遍历目录 dir()函数,成功时返回Directory类实例 PHP dir() 语法格式为: dir(directory);//directory为需要显示文件名的目录名称,可 ...

  5. IDEA14下配置SVN

    本来以为是很简单的事情,没想到也浪费我有一会的时间,中间也出现了多多少少的问题. 1.在官网下载SVN,版本要为1.8,切忌不能1.9,否则会出错. 在安装SVN的时候,不能一路下一步,我们要安装命令 ...

  6. 关于ligerui和其他前端脚本的学习方法(适用于自己)

    特别是看别人的源代码(来源于自己看的那个cms系统),比如ligerui,别人用的juery和ligerui结合的很灵活,比如下面一段代码 var itemiframe = "#framec ...

  7. 更快的使用你的键盘:AUTOHOTKEY

    本文适合于:每天用电脑工作学习的朋友.游戏发烧手指又不灵敏的朋友.希望提高自己使用电脑效率的朋友. 本文将将告诉你AutoHotkey能做什么,并会一步一步地教会你轻易地使用它,但不会教你更多Auto ...

  8. jquery cookies(2)用法实现

    example $.cookie('name', ‘value'); 设置cookie的值,把name变量的值设为value example $.cookie('name', ‘value', {ex ...

  9. Netty笔记--ByteBuf释放

    参考资料:http://www.maljob.com/pages/newsDetail.html?id=394 参考资料:http://www.blogjava.net/liuguly/archive ...

  10. NOIP[2015] 运输计划

    传送门 题目描述 Description 公元 2044 年,人类进入了宇宙纪元.L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所有星球 ...