Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
symfony_2504
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Lech Sawoń
symfony_2504
Commits
63504798
Commit
63504798
authored
Oct 28, 2021
by
Lech Sawon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
get room controller
parent
c1c9ba16
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
0 deletions
+38
-0
GetRoomController.php
src/Controller/Api/GetRoomController.php
+34
-0
Room.php
src/Entity/Room.php
+4
-0
No files found.
src/Controller/Api/GetRoomController.php
0 → 100644
View file @
63504798
<?php
declare
(
strict_types
=
1
);
namespace
App\Controller\Api
;
use
App\Entity\Room
;
use
PHPUnit\Util\Json
;
use
Symfony\Bundle\FrameworkBundle\Controller\AbstractController
;
use
Symfony\Component\HttpFoundation\JsonResponse
;
use
Symfony\Component\HttpFoundation\Request
;
use
Symfony\Component\Routing\Annotation\Route
;
use
Symfony\Component\Serializer\SerializerInterface
;
final
class
GetRoomController
extends
AbstractController
{
/**
* @Route("/api/room/{id}", name="api_get_room", methods={"GET"}))
*/
public
function
__invoke
(
Room
$room
,
SerializerInterface
$serializer
)
:
JsonResponse
{
// jak zronbić, żeby encja nie robiła wszystkiego (serializacj, walidacja, mapowanie na baze)
// 1. przyjmuje po prostu id jako int albo IdDto
// 2. przekazujemy id do odpowiedniego serwisu
// 3. serwis pyta baza danych i zwraca Dto, które tworzy na podstawie encji
// 4. serializujemy dto.
return
JsonResponse
::
fromJsonString
(
$serializer
->
serialize
(
$room
,
'json'
)
);
}
}
src/Entity/Room.php
View file @
63504798
...
...
@@ -4,6 +4,8 @@ namespace App\Entity;
use
App\Repository\RoomRepository
;
use
Doctrine\ORM\Mapping
as
ORM
;
use
Symfony\Component\Serializer\Annotation\SerializedName
;
use
Symfony\Component\Validator\Constraints
as
Assert
;
/**
* @ORM\Entity(repositoryClass=RoomRepository::class)
...
...
@@ -19,6 +21,8 @@ class Room
/**
* @ORM\Column(type="string", length=255)
* @Assert\Length(min=3, max=128)
* @SerializedName("room_name")
*/
private
string
$name
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment