mirror of
https://framagit.org/tykayn/date-poll-api
synced 2023-08-25 08:23:11 +02:00
⚡ start creation endpoint
This commit is contained in:
parent
063241ede6
commit
13cd182f3c
@ -2,7 +2,6 @@
|
|||||||
fos_rest:
|
fos_rest:
|
||||||
# param_fetcher_listener: true
|
# param_fetcher_listener: true
|
||||||
# allowed_methods_listener: true
|
# allowed_methods_listener: true
|
||||||
# routing_loader: true
|
|
||||||
# view:
|
# view:
|
||||||
# view_response_listener: true
|
# view_response_listener: true
|
||||||
# exception:
|
# exception:
|
||||||
@ -10,8 +9,7 @@ fos_rest:
|
|||||||
# App\Exception\MyException: 403
|
# App\Exception\MyException: 403
|
||||||
# messages:
|
# messages:
|
||||||
# App\Exception\MyException: Forbidden area.
|
# App\Exception\MyException: Forbidden area.
|
||||||
routing_loader:
|
routing_loader: true
|
||||||
default_format: json
|
|
||||||
format_listener:
|
format_listener:
|
||||||
rules:
|
rules:
|
||||||
- { path: '^/',
|
- { path: '^/',
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
nelmio_api_doc:
|
nelmio_api_doc:
|
||||||
documentation:
|
documentation:
|
||||||
info:
|
info:
|
||||||
title: My App
|
title: Poll Bliss
|
||||||
description: This is an awesome app!
|
description: Sondages à la framadate par CipherBliss
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
areas: # to filter documented areas
|
areas: # to filter documented areas
|
||||||
path_patterns:
|
path_patterns:
|
||||||
- ^/api(?!/doc$) # Accepts routes under /api except /api/doc
|
- ^/api(?!/doc$) # Accepts routes under /api except /api/doc
|
||||||
|
@ -7,11 +7,12 @@ use FOS\RestBundle\Controller\Annotations\Get;
|
|||||||
use FOS\RestBundle\Controller\Annotations\Post;
|
use FOS\RestBundle\Controller\Annotations\Post;
|
||||||
use FOS\RestBundle\Controller\Annotations\Route;
|
use FOS\RestBundle\Controller\Annotations\Route;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class DefaultController
|
* Class DefaultController
|
||||||
* @package App\Controller
|
* @package App\Controller
|
||||||
* @Route("/api",name="api_")
|
* @Route("/api/v1",name="api_")
|
||||||
*/
|
*/
|
||||||
class DefaultController extends AbstractController {
|
class DefaultController extends AbstractController {
|
||||||
/**
|
/**
|
||||||
@ -75,20 +76,25 @@ class DefaultController extends AbstractController {
|
|||||||
* name = "new_polls",
|
* name = "new_polls",
|
||||||
* requirements = {"creator"="\w+"}
|
* requirements = {"creator"="\w+"}
|
||||||
* )
|
* )
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
|
* @return \Symfony\Component\HttpFoundation\JsonResponse
|
||||||
*/
|
*/
|
||||||
public function newPollAction( Poll $poll ) {
|
public function newPollAction( Request $request ) {
|
||||||
$em = $this->getDoctrine()->getManager();
|
|
||||||
|
|
||||||
|
$data = $request->getContent();
|
||||||
|
$poll = $this->get( 'jms_serializer' )->deserialize( $data, Poll::class, 'json' );
|
||||||
|
|
||||||
|
$em = $this->getDoctrine()->getManager();
|
||||||
$em->persist( $poll );
|
$em->persist( $poll );
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
// return $poll;
|
return $this->json( [
|
||||||
|
'message' => 'you created a poll',
|
||||||
|
'data' => $poll,
|
||||||
|
],
|
||||||
|
203 );
|
||||||
|
|
||||||
return $this->json( $poll );
|
|
||||||
|
|
||||||
// return $this->json( [
|
|
||||||
// 'message' => 'you created a poll',
|
|
||||||
// ] );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -16,18 +16,18 @@ class Poll {
|
|||||||
* @ORM\Id()
|
* @ORM\Id()
|
||||||
* @ORM\GeneratedValue()
|
* @ORM\GeneratedValue()
|
||||||
* @ORM\Column(type="integer")
|
* @ORM\Column(type="integer")
|
||||||
* @Serializer\Expose
|
* @Serializer\Expose()
|
||||||
*/
|
*/
|
||||||
private $id;
|
public $id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="string", length=255)
|
* @ORM\Column(type="string", length=255)
|
||||||
* @Serializer\Expose
|
* @Serializer\Expose()
|
||||||
*/
|
*/
|
||||||
public $title;
|
public $title;
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="string", length=255, nullable=true)
|
* @ORM\Column(type="string", length=255, nullable=true)
|
||||||
* @Serializer\Expose
|
* @Serializer\Expose()
|
||||||
*/
|
*/
|
||||||
private $customUrl;
|
private $customUrl;
|
||||||
|
|
||||||
@ -39,13 +39,13 @@ class Poll {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="string", length=1000)
|
* @ORM\Column(type="string", length=1000)
|
||||||
* @Serializer\Expose
|
* @Serializer\Expose()
|
||||||
*/
|
*/
|
||||||
private $description;
|
private $description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="datetime")
|
* @ORM\Column(type="datetime")
|
||||||
* @Serializer\Expose
|
* @Serializer\Expose()
|
||||||
*/
|
*/
|
||||||
private $creationDate;
|
private $creationDate;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user