1616use Psr \Http \Message \ResponseInterface as Response ;
1717use Yiisoft \DataResponse \DataResponseFactoryInterface ;
1818
19+ /**
20+ * @OA\Tag(
21+ * name="blog",
22+ * description="Blog"
23+ * )
24+ */
1925final class BlogController
2026{
2127 private DataResponseFactoryInterface $ responseFactory ;
@@ -38,6 +44,15 @@ public function __construct(
3844 $ this ->blogService = $ blogService ;
3945 }
4046
47+ /**
48+ * @OA\Get(
49+ * tags={"blog"},
50+ * path="/blog",
51+ * summary="Returns paginated blog posts",
52+ * description="",
53+ * @OA\Response(response="200", description="Success")
54+ * )
55+ */
4156 public function index (PageRequest $ request , PaginatorFormatter $ paginatorFormatter ): Response
4257 {
4358 $ paginator = $ this ->blogService ->getPosts ($ request ->getPage ());
@@ -54,6 +69,15 @@ public function index(PageRequest $request, PaginatorFormatter $paginatorFormatt
5469 );
5570 }
5671
72+ /**
73+ * @OA\Get(
74+ * tags={"blog"},
75+ * path="/blog/{id}",
76+ * summary="Returns a post with a given ID",
77+ * description="",
78+ * @OA\Response(response="200", description="Success")
79+ * )
80+ */
5781 public function view (ViewPostRequest $ request ): Response
5882 {
5983 return $ this ->responseFactory ->createResponse (
@@ -65,6 +89,15 @@ public function view(ViewPostRequest $request): Response
6589 );
6690 }
6791
92+ /**
93+ * @OA\Post(
94+ * tags={"blog"},
95+ * path="/blog",
96+ * summary="Creates a blog post",
97+ * description="",
98+ * @OA\Response(response="200", description="Success")
99+ * )
100+ */
68101 public function create (EditPostRequest $ postRequest ): Response
69102 {
70103 $ post = $ this ->postBuilder ->build (new Post (), $ postRequest );
@@ -75,6 +108,15 @@ public function create(EditPostRequest $postRequest): Response
75108 return $ this ->responseFactory ->createResponse ();
76109 }
77110
111+ /**
112+ * @OA\Put(
113+ * tags={"blog"},
114+ * path="/blog/{id}",
115+ * summary="Updates a blog post with a given ID",
116+ * description="",
117+ * @OA\Response(response="200", description="Success")
118+ * )
119+ */
78120 public function update (EditPostRequest $ postRequest ): Response
79121 {
80122 $ post = $ this ->postBuilder ->build (
0 commit comments