Php API REST SYMFONY细枝-认证
我正在使用symfony开发一个restapi,它将执行与用户、身份验证、列表、查看详细信息、创建等相关的任务 我已经获得了身份验证,但我有疑问,主要是关于细枝视图,因为我想集中这些视图,而不必在每个连接的系统中维护它们 我想集中的是:Php API REST SYMFONY细枝-认证,php,rest,symfony,twig,Php,Rest,Symfony,Twig,我正在使用symfony开发一个restapi,它将执行与用户、身份验证、列表、查看详细信息、创建等相关的任务 我已经获得了身份验证,但我有疑问,主要是关于细枝视图,因为我想集中这些视图,而不必在每个连接的系统中维护它们 我想集中的是: 查看用户详细信息 创建/编辑用户的视图 可以将这些视图放在API中吗?从API返回完整视图可以吗? 我该怎么做?因为它是以JSON格式返回的 我是从FOSRestController扩展而来。您可以执行一个操作,该操作将根据od参数返回JSON或HTML格式
- 查看用户详细信息
- 创建/编辑用户的视图
我是从FOSRestController扩展而来。您可以执行一个操作,该操作将根据od参数返回JSON或HTML格式,因此,例如,您可以在移动应用程序中使用JSON格式,在某些web应用程序中使用HTML格式 可能的解决办法是:
public function userDetailAction($id, $format)
{
...
...
if ($format == 'json') {
$response = new Response(json_encode($data));
return $response;
}
return $this->render('userDetail.twig', array('userData' => $data));
}
或者Symfony 3中更简单的json语法
...
if ($format == 'json') {
return $this->json($data);
}
...
感谢@vini comment,我实现了以下内容:
...
$view = View::create(array('user' => $user))
->setTemplate("EdcorpUserBundle:User:advance.profile.html.twig")
->setFormat('html');
return $this->handleView($view);
}
ref:我理解,您必须决定API客户端是使用HTML(您可以使用TWIG)还是JSON(在我看来,客户端负责如何显示任何内容),但需要更改控制器的“扩展”吗?我是从FOSRestController扩展而来的。就控制器而言,什么都没有。你有这些方法-setFormat,setTemplate等等。只要使用它们,你就会很好。看看文档:@Vini It奏效了,非常感谢,我将在下面评论我是如何实现它的。