小编3ND*_*3ND的帖子

带有自定义 JSON 主体的 Api 平台自定义控制器

我正在尝试在 Api 平台中创建自定义操作/控制器/操作。

基本上,我需要在 Swagger 中记录的自定义操作,但不是 ApiResource因为该操作收到的 JSON 正文在数据库中没有相应的实体。

身体看起来像这样:

[
    {
       "someEntityId": "2",
       "message": "test message",
       "userId": "11"
    },
    {
       "someEntityId": "8",
       "message": "test message two",
       "userId": "16"
    }
]
Run Code Online (Sandbox Code Playgroud)

正如我所说,我不能有一个,ApiResource因为这会破坏 REST 原则,并且这些字段的实体不存在。我使用这些数据来进行一些自定义的业务逻辑,这JSON进行反序列化到一个DTO,要精确地采集DTOs

带有路由的常规 Symfony 控制器应该是可行的方法,至少我认为,但Swagger即使有控制器的注释,我也无法显示这条路由。

我试过这个:

/**
 * @Route(
 *     methods={"POST"},
 *     name="api_post_notify_users",
 *     path="/api/users/notify_users",
 * )
 * @SWG\Post(
 *      path="/api/users/notify_users",
 *      summary="Summary",
 *      description="Description",
 *      produces={"application/json"},
 *     @SWG\Response(
 *         response=200,
 *         description="Success",
 *     )
 * )
 * @return …
Run Code Online (Sandbox Code Playgroud)

symfony swagger swagger-ui api-platform.com

5
推荐指数
1
解决办法
1021
查看次数

Sonata管理员捆绑预览图像来自列表映射器中的某个实体,没有奏鸣曲媒体包

我想知道我该如何解决这个问题.在奏鸣曲管理仪表板我有用户,我想在ListMapper的缩略图中预览用户个人资料图片.我是symfony的新手,仍然有点困惑试图绕过这些概念.

symfony sonata-admin

4
推荐指数
1
解决办法
3992
查看次数

如何使用Doctrine连接select语句中的字段

我想知道如何连接DQL select语句中的两个字段与之间的一些文字.

我现在有这个,但没有运气......

$qb
            ->select('season.id, concat(competition.name, '-',season.name) AS specs')
            ->leftJoin('season.competition', 'competition')
            ->where('season.name LIKE :q')
            ->setParameter('q', '%'.$q.'%')
            ->setMaxResults($p)
        ;
Run Code Online (Sandbox Code Playgroud)

doctrine-orm

3
推荐指数
1
解决办法
9495
查看次数