kvstore
使用 bottle.py 实现一个只读 k-v 存储服务,对外提供 RESTFul API,将 key-value 存储在 MySQL/ SQLite 中, 使用 SQLAlchemy 作为 ORM。
符合 PEP8 规范,要求有单元测试,有合适的注释,源码使用 git 管理,推送到 github, 如果 github 被墙,可以放到 git.oschina.net 上。
用户指定需要获取的 key,接口将返回 key 对应的 value。如果 key 不存在则返回 HTTP 404。
GET /keys/{real_key}
HTTP 200
{
{key}: {object}
}
用户通过 body 设置一个 key value 对,要求 key 必须是字符串,value 是任何合法的 json 对象。如果设置成功则返回存储后的结果;如果请求的 body 不是合法的 json 格式,则返回 HTTP 400,如果用户设置一个已经存在的 key,则返回 HTTP 419。
POST /keys/
{ {key}:{value}
}
HTTP 200
{ {key}: {value} #将存储完成后的结果返回给用户 }
设置 key=“test”,value 为 {“openstack”: “nova”} 。
POST /keys
{ "test": {"openstack": "nova"}}
HTTP 200
{ "test": {"openstack": "nova"}} 获取 key = “test” 的 value。
GET /keys/test
HTTP 200
{ "test": {"openstack": "nova"}}