douhao7677 2016-02-20 17:31
浏览 256
已采纳

使用Swagger2和Symfony3检索POST参数

I am developing a web service with Symfony3 and I am using Swagger-PHP 2.0.6 for documenting it.

To make it simple, here is what I am trying to achieve:

/**
 * @SWG\Post(path="/user",
 *   tags={"user"},
 *   summary="Registers a new user",
 *   operationId="registerUserAction",
 *   produces={"application/json"},
 *   @SWG\Parameter(
 *     in="body",
 *     name="user",
 *     description="User to register",
 *     required=true,
 *     @SWG\Schema(ref="#/definitions/UserInput")
 *   ),
 *   @SWG\Response(
 *     response=200,
 *     description="User registered"
 *   ),
 *   @SWG\Response(
 *     response=400,
 *     description="Invalid input"
 *   )
 * )
 * @var UserInput $user
 * @return JsonResponse
 **/
public function registerUserAction(UserInput $user)
{
    // Do stuff with the user model

    return new JsonResponse();
}

My route is define as so:

postUser:
    path: /user
    defaults: { _controller: MyBundle:User:registerUser }
    methods: [POST]

Now here is the error that I have from Symfony:

Controller "MyBundle\Controller\UserController::registerUserAction()" requires that you provide a value for the "$user" argument (because there is no default value or because there is a non optional argument after this one). (500 Internal Server Error)

Workaround would be to pass the Request object instead to the controller and then get the values directly from $request->request but this is not what I am trying to achieve here.

So the question is, is there any way to achieve this? I remember I used to do it before on a Symfony2 application with Swagger 1.x

PS: I am also using Swagger-UI

  • 写回答

1条回答 默认 最新

  • duanouyong4228 2016-02-21 20:03
    关注

    Well for those interested, I managed to make it work using a custom ParamConverter :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Android STD快速启动
  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动