Skip to content

Instantly share code, notes, and snippets.

@piotrbrzezina
piotrbrzezina / App\Entity\Flashcard.php
Last active September 17, 2018 09:49
Flashcard step 6 (filter)
<?php
// ...
use ApiPlatform\Core\Annotation\ApiFilter;
/**
* // ...
* @ApiFilter(
* SearchFilter::class,
@piotrbrzezina
piotrbrzezina / App\Entity\Lesson.php
Created September 14, 2018 11:55
Flashcard step 5 (subresource)
<?php
use ApiPlatform\Core\Annotation\ApiSubresource;
// ...
class Lesson
{
/**
* ...
* @ApiSubresource()
@piotrbrzezina
piotrbrzezina / App\Entity\User.php
Created September 14, 2018 11:28
Flashcard setp 5 (custom Opperation setup validation)
<?php
// ...
class User implements UserInterface
{
/**
* ...
* @Assert\NotBlank(groups={"userCreate"})
* @Assert\Length(max="255", groups={"userCreate"})
@piotrbrzezina
piotrbrzezina / App\Entity\User.php
Created September 14, 2018 11:16
Flashcard setp 5 (custom Opperation)
<?php
// ...
/**
* @ApiResource(
* normalizationContext={"groups"={"userList"}},
* denormalizationContext={"groups"={"userCreate"}},
* validationGroups="userCreate",
* itemOperations={
@piotrbrzezina
piotrbrzezina / App\Entity\Lesson.php
Created September 14, 2018 10:32
Flashcard setp 5 ( setup Opperation)
<?php
// ...
/**
* @ApiResource(
* normalizationContext={"groups"={"lessonList"}},
* denormalizationContext={"groups"={"lessonCreate"}},
* itemOperations={"get","put"}
* )
@piotrbrzezina
piotrbrzezina / App\Entity\Subject.php
Created September 14, 2018 08:40
Flashcard step 3 (setup serialization groups in @ApiResource)
<?php
// ...
/**
* @ApiResource(
* normalizationContext={"groups"={"subjectList"}},
* denormalizationContext={"groups"={"subjectCreate"}}
* ) ...
*/
class Subject
@piotrbrzezina
piotrbrzezina / example.php
Last active September 14, 2018 10:29
Flashcard setp 5 api platform default operation list
<?
/**
* @ApiResource(
* collectionOperations={
* "get", // pobieranie list elementów
* "post" // tworzenie nowego elementu
* },
* itemOperations={
* "get", // pobieranie konrketnego elementu
* "put", // aktualizacja
@piotrbrzezina
piotrbrzezina / App\Entity\Flashcard.php
Last active September 14, 2018 11:10
Flashcard step 4 validation
<?php
// ...
class Flashcard
{
/**
* ...
* @Assert\NotBlank()
* @Assert\Length(max="255")
*/
public $question;
@piotrbrzezina
piotrbrzezina / App\Entity\Subject.php
Last active September 14, 2018 08:37
Flashcard step 3 (serialization groups)
<?php
// ...
use Symfony\Component\Serializer\Annotation\Groups;
class Subject
{
/**
* ...
@piotrbrzezina
piotrbrzezina / App\Entity\Flashcard.php
Last active September 9, 2018 18:37
Flashcard step 2 (add @ApiResource())
<?php
namespace App\Entity;
use ApiPlatform\Core\Annotation\ApiResource;
// ...
/**
* @ApiResource()
* ...