#iron #已废弃 #资源 #端点 #泛型 # #res-tlike

已废弃 reep

[已废弃] REsource EndPoint (REEP):RESTlike资源访问的泛型Iron端点

2个不稳定版本

使用旧Rust 2015

0.2.0 2016年9月12日
0.1.1 2015年10月9日

#67 in #资源


3 个crate使用

MIT/Apache

19KB
302

废弃说明

这个crate最初打算作为一个更复杂的REST(like) api项目的起点。但由于时间安排的改变,这个项目将不再实现。虽然我已经更新了它以兼容更新的Iron版本(0.4),但不会期望有进一步的更新。

REsource EndPoint (REEP) [已废弃]

提供了一个 ResourceEndpointBuilder,允许您轻松构建RESTlike资源端点。

这个实现使用静态约束来确保例如,如果一个资源替换处理程序被调用,查询选项被解析/验证,URL中的资源ID被解析/验证,并且体被解析/验证。

所有解析的元素(选项(=查询参数)、ID和体)将使用静态提供的类型放入请求扩展 typemap 中。请注意,确保 BodyParser 创建的资源ID类型与解析的ID类型相同。

项目状态

  • 基本功能正常工作
  • 所有部分都有文档,但可以改进(例如,示例)
  • 如果没有提供,将生成最小http/options处理程序
  • 必须手动处理head请求(HttpHead资源方法)
  • 一些默认/泛型选项/ID/体实现存在于其他仓库中
  • 尚未集成TravisCI
  • 尚未在crates.io上发布
  • 尚未编写测试,但期望有一个工作示例

工具/预实现部分

对于一些 reep::类型-特质,存在一些可重用的实现

示例

一个完整的示例,使用reep以及一些reep-*实用crate,可以在reep-example仓库中找到。此外,这里还有一个示例使用说明


let ep = ResourceEndpointBuilder::new(optionParser, bodyParser)
  .create(ironHandlerForCreating)
  .list(ironHandlerForListing)
  .delete(ironHanderForDeleting)
  .replace(ironHandlerForReplacing)
  .get(ironHanderForGeting)
  .finalize();

app.mount("/users", ep);

许可证

以下任一许可证下发布

由您自行选择。

贡献

除非您明确表示,否则任何根据Apache-2.0许可证定义的,有意提交以包含在作品中的贡献,应按上述方式双许可,不附加任何额外条款或条件。

依赖项

约5MB
约120K SLoC