pecan入门

使用virtualenv坏境

没有的话安装下

pip install virtualenv

启用virtualenv环境,安装pecan

$ virtualenv pecanrest-proj
$ cd pecanrest-proj
$ source bin/activate
$ pip install pecan
$ pecan create pecanrest
$ cd pecanrest
$ python setup.py develop

也可以手工创建pecanrest项目,及其文件结构,但是方便演示,还是通过pecan create自动创建

启动pecan

$ pecan serve config.py

应该会看到以下信息

Starting server in PID 14821
serving on 0.0.0.0:8080, view at http://127.0.0.1:8080

访问127.0.0.1:8080会看到如下

155431_viep_914655.png

终止的话 CTRL+C

 

json格式输出

$ cd pecanrest/controllers/
$ vim root.py
添加如下内容:
from pecanrest.controllers import v1
 
class RootController(object):
    v1 = v1.VersionController()

另外创建v1.py
import pecan
from pecan import rest
 
class VersionController(rest.RestController):
    @pecan.expose('json')
    def get(self):
        return {"version": "1.0.0"}

现在启动pecan
$ cd ../..
$ pecan serve config.py

访问http://localhost:8080/v1
将会看到返回{"version": "1.0.0"}

真正的REST API,   GET/POST/PUT/DELETE

$ cd pecanrest/controllers/
$ mkdir api
$ cd api
创建以下文件
rw-r--r-- 1 root root  113 Aug  1 16:26 api.py
rw-r--r-- 1 root root    0 Aug  1 16:25 __init__.py
rw-r--r-- 1 root root  703 Aug  1 16:26 order.py

api.py

from pecanrest.controllers.api import order

class ApiController(object):
    orders = order.OrdersController()

order.py

import pecan
from pecan import rest, response

class OrdersController(rest.RestController):

    @pecan.expose("json")
    def get(self):
        return {
            "100A": "1 bag of corn",
            "293F": "2 bags of potatoes",
            "207B": "1 bag of carrots"
        }

    @pecan.expose()
    def post(self):
        # TODO: Create a new order, (optional) return some status data
        response.status = 201
        return

    @pecan.expose()
    def put(self):
        # TODO: Idempotent PUT (return 200 or 204)
        response.status = 204
        return

    @pecan.expose()
    def delete(self):
        # TODO: Idempotent DELETE
        response.status = 200
        return

修改root.py

from pecanrest.controllers.api import api

class RootController(object):

    api = api.ApiController()

启动pecan, 访问 http://127.0.0.1:8080/api/orders

将会看到调用了get方法

 

转载于:https://my.oschina.net/u/914655/blog/1498869

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值