zend-blog-3-backend
77 строк · 1.9 Кб
1<?php
2/**
3* Created by PhpStorm.
4* User: morontt
5* Date: 15.02.15
6* Time: 0:06
7*/
8
9namespace App\Controller\API;
10
11use App\Controller\BaseController;
12use App\Entity\Commentator;
13use App\Entity\ViewCommentator;
14use App\Repository\CommentatorRepository;
15use Symfony\Component\HttpFoundation\JsonResponse;
16use Symfony\Component\HttpFoundation\Request;
17use Symfony\Component\Routing\Annotation\Route;
18
19/**
20* @Route("/api/commentators")
21*
22* Class CommentatorController
23*/
24class CommentatorController extends BaseController
25{
26/**
27* @Route("", methods={"GET"})
28*
29* @param Request $request
30* @param CommentatorRepository $repository
31*
32* @return JsonResponse
33*/
34public function findAllAction(Request $request, CommentatorRepository $repository): JsonResponse
35{
36$pagination = $this->paginate(
37$repository->getListQuery(),
38$request->query->get('page', 1)
39);
40
41$result = $this->getDataConverter()
42->getCommentatorArray($pagination);
43
44return new JsonResponse($result);
45}
46
47/**
48* @Route("/{id}", requirements={"id": "\d+"}, methods={"GET"})
49*
50* @param ViewCommentator $entity
51*
52* @return JsonResponse
53*/
54public function findAction(ViewCommentator $entity): JsonResponse
55{
56$result = $this->getDataConverter()
57->getCommentator($entity);
58
59return new JsonResponse($result);
60}
61
62/**
63* @Route("/{id}", requirements={"id": "\d+"}, methods={"PUT"})
64*
65* @param Request $request
66* @param Commentator $entity
67*
68* @return JsonResponse
69*/
70public function updateAction(Request $request, Commentator $entity): JsonResponse
71{
72$result = $this->getDataConverter()
73->saveCommentator($entity, $request->request->get('commentator'));
74
75return new JsonResponse($result);
76}
77}
78