python Eve RESTFul 尝试笔记
来源:互联网 发布:java分前端和后端吗 编辑:程序博客网 时间:2024/04/30 14:11
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 Eveapp = 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服务已经运行成功。未来几天还将总结一些简单的例子,希望本篇博文对各位有帮助。
【2014年3月补充:发现Eve框架 建立在Flask框架之上,当时刚刚学习python没有能力再前进下去】
【2014年3月补充:发现Eve框架 建立在Flask框架之上,当时刚刚学习python没有能力再前进下去】
5.参考资料
5.1 【官方文档】
5.2 【cURL安装笔记】
5.3 【cURL学习笔记】
- python Eve RESTFul 尝试笔记
- python eve restful 规则
- python RESTful API框架:Eve 快速入门
- python-eve配置实战
- python-eve使用实战
- python尝试
- Restful笔记
- RESTful笔记
- restful笔记
- EVE 居然是用 python 写的!!太不可思议了
- python eve设置多数据库问题记录
- Spring MVC 支持RestFul风格尝试
- 用Python尝试RabbitMQ
- Python Yield尝试
- 初步尝试python爬虫
- python cgi服务尝试
- python爬虫简单尝试
- python: tushare尝试
- s3c2440的LED点灯裸机汇编程序
- ssh
- OpenSSL 常用函数——SSL/TLS编程
- Codeforces #218 (Div. 2) A. K-Periodic Array
- 一个C++的多态和虚函数实例
- python Eve RESTFul 尝试笔记
- 程序人生的四个象限和两条主线
- Java字符编码研究
- 程序员之路2
- 拓扑排序-HDU1285-HDU2647-HDU2094-HDU1811
- Json字符串与Java对象互相转换
- 差模信号、共模信号、共模抑制比的概念
- 主板上的内存插槽颜色到底代表了什么意思?
- 软件开发流程