Skip to content

Instantly share code, notes, and snippets.

@piotrbrzezina
Created September 12, 2018 23:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save piotrbrzezina/0a5fbf9505706409614639b7801a1a97 to your computer and use it in GitHub Desktop.
Save piotrbrzezina/0a5fbf9505706409614639b7801a1a97 to your computer and use it in GitHub Desktop.
Flashcard step 3 (Others)
<?php
// ..
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ApiResource(
* normalizationContext={"groups"={"flashcardList"}},
* denormalizationContext={"groups"={"flashcardCreate"}}
* )
* ...
*/
class Flashcard
{
/**
* ...
* @Groups({"flashcardList"})
*/
private $id;
/**
* ...
* @Groups({"flashcardList", "flashcardCreate"})
*/
public $question;
/**
* ...
* @Groups({"flashcardList", "flashcardCreate"})
*/
public $answer;
/**
* ...
* @Groups({"flashcardCreate"})
*/
public $lesson;
// ...
}
<?php
// ...
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ApiResource(
* normalizationContext={"groups"={"lessonList"}},
* denormalizationContext={"groups"={"lessonCreate"}}
* )
* ...
*/
class Lesson
{
/**
* ...
* @Groups({"lessonList"})
*/
private $id;
/**
* ...
* @Groups({"lessonList", "lessonCreate"})
*/
public $name;
/**
* ...
* @Groups({"lessonCreate"})
*/
public $subject;
// ...
}
<?php
// ...
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ApiResource(
* normalizationContext={"groups"={"userList"}},
* denormalizationContext={"groups"={"userCreate"}}
* )
* ...
*/
class User implements UserInterface
{
/**
* ...
* @Groups({"userList"})
*/
private $id;
/**
* ...
* @Groups({"userList", "userCreate"})
*/
public $name;
/**
* ...
* @Groups({"userCreate"})
*/
public $plainPassword;
// ...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment