Serializer

Avant-propos #

Quels sont les différentes parties du Serializer et à quoi servent-elles ?

Implémentation #

Ajoutez une api pour que les personnes puissent accéder au site.

L'API aura plusieurs actions :

  • Consulter la liste des auteurs de posts avec le titre de leurs posts.

  • Consulter la liste des derniers posts.

  • Le Top des posts.

  • Les commentaires pour un Post.

L'objectif de cette partie est de ne pas utiliser API Platform.

L'API pourra renvoyer sa réponse au format json ou xml, en fonction de ce que l'utilisateur passe en paramètre dans l'URL.

Lister les auteurs et leurs posts #

GET /api/authors.{format}
AUTH-KEY: My-authentication-key
200 OK
Content-Type: application/json

[
	{
		"id": 1,
		"username": "henri",
		"posts": [
			{
			"id":17,
			"brief": "Lorem Ipsum dolor sit amet" //c'est le titre, mais le concepteur de l'api est une personne détestable
			}
		]
	}
]

Consulter la liste des derniers posts #

GET /api/last.{format}
AUTH-KEY: My-authentication-key
200 OK
Content-Type: application/json

[
    {
        "id":17,
        "title": "Lorem Ipsum dolor sit amet",
        "content":"le contenu du post",
        "createdAt":"format:ISO8601"
    }
]

Le Top des posts #

GET /api/top.{format}
AUTH-KEY: My-authentication-key
200 OK
Content-Type: application/json

[
    {
        "id":17,
        "title": "Lorem Ipsum dolor sit amet",
        "content":"le contenu du post"
    }
]

Les commentaires pour un Post #

GET /api/post/{id}.{format}
AUTH-KEY: My-authentication-key
200 OK
Content-Type: application/json

{
	"id":17,
	"title": "Lorem Ipsum dolor sit amet",
	"content": "le contenu du post",
    "created_at":"ISO8601",
    "author":{
        "id":1,
        "username":"henri"
    }
	"comments": [
		{
            "id":173,
            "content":"le contenu du commentaire",
            "created_at":"ISO8601",
            "author":{
            	"id":1,
            	"username":"henri"
            }
		}
	
	]
	
}

#