3ND*_*3ND 5 symfony swagger swagger-ui api-platform.com
我正在尝试在 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 Response
*/
public function __invoke()
{
$data = $this->get('request_stack')->getCurrentRequest()->getContent();
return new Response($data);
}
Run Code Online (Sandbox Code Playgroud)
不知道我错过了什么。此外,有没有办法根据 JSON 数组验证此 JSON 数组DTO,以确保 JSON 中的所有字段都被发送。
任何帮助深表感谢!
| 归档时间: |
|
| 查看次数: |
1021 次 |
| 最近记录: |