leedavis81/drest

从Doctrine 2实体注解创建一个功能齐全的REST API服务。

1.0.5 2017-05-11 10:04 UTC

README

美化Doctrine实体,将其作为REST资源公开

Build Status Code Coverage Scrutinizer Quality Score Latest Stable Version Total Downloads Dependency Status HHVM Status License

这个库允许您快速将Doctrine实体标注为REST资源。它自带内部路由器,可以独立使用或与现有框架栈一起使用。路由映射到默认或自定义的服务操作,负责处理请求。

设置端点就像在实体中添加一个简单的注解一样简单

/* @Drest\Resource(
 *    routes={
 *        @Drest\Route(
 *            name="get_user",
 *            route_pattern="/user/:id",
 *            verbs={"GET"}
 * )})
 * @ORM\Table(name="user")
 * @ORM\Entity
 */
class User
{
   .......
}

// hitting [GET] http://myapplication.com/user/123 may return:

{
  "user": {
    "name": "lee",
    "email": "lee@somedomain.com"
    ... + other attributes set up to be exposed ...
  }
}

文档

查看文档了解如何使用drest

特性

  • 快速将现有Doctrine实体标注为功能齐全的REST资源。

  • 利用内部路由器匹配资源路由模式。

  • 指定您想从实体中公开的数据(包括关系),或者让客户端选择!

  • 使用可公开的数据生成数据对象,以便API用户消费。

  • 自带JSON和XML表示形式,或您可以创建自己的。

  • 允许从客户端请求中检测媒体类型,使您接近RMM级别3。

  • 可以从您的现有框架栈独立使用,也可以与之一起使用。

  • 允许扩展点,以便您可以配置满足特定需求的需求。