app/Customize/Controller/Api/WordPressController.php line 31

Open in your IDE?
  1. <?php
  2. namespace Customize\Controller\Api;
  3. use Customize\Service\WordPressService;
  4. use Eccube\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. class WordPressController extends AbstractController
  8. {
  9.     /** @var WordPressService */
  10.     protected $wordPressService;
  11.     public function __construct(
  12.         WordPressService $wordPressService
  13.     ) {
  14.         $this->wordPressService $wordPressService;
  15.     }
  16.     /**
  17.      * WordPressいつくし記事一覧取得API.
  18.      *
  19.      * @Route(
  20.      *     path="/api/wordpress/{type}/posts",
  21.      *     name="api_wordpress_posts",
  22.      *     methods={"GET"},
  23.      *     requirements={"type"="itsukushi_special|itsukushi_reading"}
  24.      * )
  25.      */
  26.     public function index(Request $request$type)
  27.     {
  28.         $data = [];
  29.         $category $request->query->get('category'null);
  30.         $data['posts'] = $this->wordPressService->getItsukushiPosts(
  31.             $type,
  32.             $request->query->get('page'1),
  33.             $category
  34.         );
  35.         $data['count'] = $this->wordPressService->getItsukushiPostCount($type$category);
  36.         $data['categories'] = $this->wordPressService->getItsukushiPostCategories($type);
  37.         return $this->json($data);
  38.     }
  39.     /**
  40.      * WordPressいつくし記事詳細取得API.
  41.      *
  42.      * @Route(
  43.      *     path="/api/wordpress/{type}/posts/{id}",
  44.      *     name="api_wordpress_post",
  45.      *     methods={"GET"},
  46.      *     requirements={"type"="itsukushi_special|itsukushi_reading"}
  47.      * )
  48.      */
  49.     public function show(Request $request$type$id)
  50.     {
  51.         $post $this->wordPressService->getItsukushiPost($type$id);
  52.         return $this->json($post);
  53.     }
  54. }