zend-blog-3-backend
52 строки · 1.3 Кб
1<?php
2
3namespace App\Controller\API;
4
5use App\Controller\BaseController;
6use App\Entity\Tracking;
7use App\Repository\TrackingRepository;
8use Symfony\Component\HttpFoundation\JsonResponse;
9use Symfony\Component\HttpFoundation\Request;
10use Symfony\Component\Routing\Annotation\Route;
11
12/**
13* @Route("/api/trackings")
14*/
15class TrackingController extends BaseController
16{
17/**
18* @Route("", methods={"GET"})
19*
20* @param Request $request
21* @param TrackingRepository $repository
22*
23* @return JsonResponse
24*/
25public function findAllAction(Request $request, TrackingRepository $repository): JsonResponse
26{
27$pagination = $this->paginate(
28$repository->getListQuery(),
29$request->query->get('page', 1)
30);
31
32$result = $this->getDataConverter()
33->getTrackingArray($pagination, 'trackingAgents');
34
35return new JsonResponse($result);
36}
37
38/**
39* @Route("/{id}", requirements={"id": "\d+"}, methods={"GET"})
40*
41* @param Tracking $entity
42*
43* @return JsonResponse
44*/
45public function findAction(Tracking $entity): JsonResponse
46{
47$result = $this->getDataConverter()
48->getTracking($entity);
49
50return new JsonResponse($result);
51}
52}
53