restapi提供静态JSON文件
stares-api的Python项目详细描述
标准API
staresapi是一个轻量级服务,旨在快速原型化API和 通过RESTful服务轻松地提供静态内容。 它基于最快的WSGI之一CherryPy 用Python(source)编写的框架。在
特点
遍历文件夹结构并将每个JSON文件作为RESTful服务提供。 JSON文件的根元素必须是数组。在
Allowed query params per resource是requestes元素的数目n
。
默认情况下,它服务于一个元素。
如果要查询所有元素,只需使用n = all
查询资源。在
如果查询的元素多于数组所包含的元素,那么它将重复这些条目。在
另一个查询参数是shuffle
参数。将其设置为true
或1
,以便查询数组列表的随机样本。
同样,如果您将其与n
和n > resource.length
组合,则将发生重复操作。在
服务的每个对象都包含一个名为__hash
的键值对。
__hash
值是为每个对象分配的唯一哈希值。
如果您坚持从JSON文件中排除特定的元素,这将非常有用。在
示例
服务在端口8080
上本地提供。
API基URL的值为/api/v1
。在
# query the first element of the sample resource "ipsum.json"
curl http://localhost:8080/api/v1/ipsum
# query the first 3 elements
curl http://localhost:8080/api/v1/ipsum?n=3
# query all elements
curl http://localhost:8080/api/v1/ipsum?n=all
# query a random element:
curl http://localhost:8080/api/v1/ipsum?shuffle=true
curl http://localhost:8080/api/v1/ipsum?shuffle=1
# query 3 random elements:
curl http://localhost:8080/api/v1/ipsum?n=3&shuffle=true
# query all elements in a random order
curl http://localhost:8080/api/v1/ipsum?n=all&shuffle=true
设置
目前,staresapi在PyPI上不可用。我很快会再加上的。在
目前,托管它的唯一方法是克隆存储库。
在存储库的根文件夹(而不是源文件夹)中,执行
stares.py
文件。在
默认情况下,staresapi将查找名为resources
的目录。
如果目录不存在,将创建该目录。
但是,热重新加载还没有实现。在
配置
托多
托管目录:/var/www/api
默认情况下,该服务在文件夹/var/www/api
中查找文件。
子文件夹resources
包含默认资源文件,除非另有指定。
子文件夹public
可以包含公共服务的文件。
索引文件应命名为index.html
。在
待办事项:
- []创建Pip包并通过Pip提供
- []嵌套存储库,在遍历文件夹结构时
- []热重新加载资源目录
- []异常处理以增加用户体验
- [x] 描述API资源的文档页
- []定制记录器以增加用户体验
- []包含要服务的静态文件的可配置根目录
许可证
麻省理工学院执照
版权所有(c)2020 stares api
兹免费准许任何人取得复制品 本软件及其相关文档文件(“软件”)的 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的使用者 根据以下条件提供:
上述版权声明和本许可声明应包括在所有 软件的副本或大部分。在
本软件按“原样”提供,无任何形式的保证,明示或 包括但不限于适销性保证, 特定目的的适用性和非侵犯性。在任何情况下 作者或版权持有人应对任何索赔、损害赔偿或其他 无论是在合同诉讼、侵权诉讼或其他诉讼中,由以下原因引起的责任:, 与软件、软件的使用或其他交易有关 软件。在
- 项目
标签: