Return 没有数据库的实体 Nelmio Symfony

Return entity without database Nelmio Symfony

我使用 Nelmio 自动生成我的 api 文档。我想 return responseMap 中的一个对象,它是一个简单的 class(没有关联数据库的实体),如下所示:

/**
* @ApiDoc(
*  description = "Get informations from user.",
*   responseMap = {
*     200 = { "\AppBundle\Entity\MyUserInfos" },
*   },
* )
*
* @Rest\View(statusCode=Response::HTTP_OK)
* @Rest\Get("/my_user_infos")
*/ 
public function getMyUserInfosAction(Request $request) {
...
}


namespace AppBundle\Entity;

/**
 * MyUserInfos
 */
class MyUserInfos
{
 /**
 * @var string
 */
private $username;

/**
 * @var string
 */
private $email;

+getters and setters
}

但是我的 api 文档中没有显示响应对象。谁能帮我 ? 谢谢

删除您 class 名字前导的反斜杠

/**
* @ApiDoc(
*  description = "Get informations from user.",
*   responseMap = {
*     200 = { "AppBundle\Entity\MyUserInfos" },
*   },
* )
*
* @Rest\View(statusCode=Response::HTTP_OK)
* @Rest\Get("/my_user_infos")
*/ 
public function getMyUserInfosAction(Request $request) {
...
}

参见:https://github.com/nelmio/NelmioApiDocBundle/blob/2d70b0802144fd2c868783c46fa1be4a774967d4/Resources/doc/swagger-support.rst#multiple-response-models