sroze/api-platform-messenger

该包最新版本(dev-master)没有可用的许可证信息。

安装: 103

依赖: 0

建议: 0

安全性: 0

星标: 31

关注者: 6

分支: 2

开放问题: 1

类型:symfony-bundle

dev-master 2018-08-28 16:31 UTC

This package is auto-updated.

Last update: 2024-08-29 04:25:49 UTC


README

使用像 Symfony Messenger 这样的消息总线来围绕命令或查询(这将只是PHP类)来组织你的应用程序是一种非常好的方式。API Platform 是一个很好的框架来公开API。

此桥接器的目的是让你能够构建以业务操作为中心的API,而不是CRUD API。查看这个非常简单的示例

注意: 这仍然是一个实验。你很可能需要做出贡献以使其满足你的需求。期待审阅你的pull请求!

使用方法

  1. 获取一个API Platform应用程序。最简单的方法是使用Symfony的 api

    composer create-project symfony/skeleton api-platform-and-messenger && \
    cd api-platform-and-messenger && \
    composer req api
  2. 安装此桥接器

    composer req sroze/api-platform-messenger:dev-master
  3. 配置你的消息以通过API Platform处理,如下例所示

    <?php
    
    namespace App\Message;
    
    use Sam\ApiPlatform\Messenger\Annotation\ApiMessage;
    use Symfony\Component\Validator\Constraints\NotBlank;
    
    /**
     * @ApiMessage(
     *   path="/write-message",
     *   type="command"
     * )
     */
    class WriteMessage
    {
        /**
         * @NotBlank
         *
         * @var string
         */
        public $message;
    }

参考

@ApiMessage 注解

  • path。你的命令将被公开的URL路径。
  • type。消息的类型。可以是
    • query:将通过GET方法公开
    • command:将通过POST方法公开