我正在使用react app作为前端创建简单的symfony api。它应该创建用户(仅用户名)和产品(名称和价格)。当我创建新用户时,它很好。但是,如果我决定以相同的方式创建新产品,则会产生错误
未知密钥"数据"注释" @FOS \ RestBundle \ Controller \ Annotations \ View"
以下是ProductController
/**
* Creates a new product entity.
* @Rest\Post("/post")
*/
function newAction(Request $request ) {
$product = new Product();
$body = $request->getContent();
$body = str_replace('"', '"', $body);
$body = json_decode($body, true);
$productName = $body['name'];
$productPrice = $body['price'];
$product->setName($productName);
$product->setPrice($productPrice);
$em = $this->getDoctrine()->getManager();
$em->persist($product);
$em->flush();
$data['data'] = $product;
return new View($data,Response::HTTP_CREATED);
}
如果我对用户使用相同的逻辑和响应,它可以正常工作。这是UserController
/**
* Creates a new user entity.
* @Rest\Post("/post")
*/
function newAction(Request $request ) {
$user = new User();
$body = $request->getContent();
$body = str_replace('"', '"', $body);
$body = json_decode($body, true);
$username = $body['username'];
$user->setUsername($username);
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
$data['data'] = $user;
return new View($data,Response::HTTP_CREATED);
}
现在我的问题 - 创建新用户就好了。创建新的产品中断。代码尽可能相似。任何想法为什么它不起作用?
答案 0 :(得分:0)
[已解决] 这是我所犯过的最愚蠢的错误之一。在使用View
类时,我已按Alt + Enter自动使用它。但是,似乎在UserController
中它使用了正确的View
类,而在ProductController
中它使用了其他内容。