TP_JO2024/athlete/static/swagger.yaml
2024-03-27 17:29:54 +01:00

163 lines
4.1 KiB
YAML

openapi: 3.0.1
info:
title: API Joueurs des J.O. 2024
description: |-
Cette API uService sert à afficher les informations sur les joueurs des JO 2024.
version: 0.0.1
servers:
- url: /athletes/
tags:
- name: athlete
description: Joueur des J.O.
paths:
/:
get:
tags:
- athlete
parameters:
- in: query
name: offset
schema:
type: integer
default: 0
description: Le nombre d'éléments à ignorer avant de commencer à collecter l'ensemble de résultats
- in: query
name: limit
schema:
type: integer
default: 10
description: Le nombre d'éléments à ignorer
summary: Liste l'ensemble des athlètes
description: Affiche la liste des athlètes enregistrés sur les J.O. 2024.
operationId: listeAthletes
responses:
'200':
description: Athlète
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Athlete'
post:
tags:
- athlete
summary: Créer un athlète
operationId: createAthelte
requestBody:
description: Objet athlète a créer
content:
application/json:
schema:
$ref: '#/components/schemas/Athlete'
responses:
default:
description: Opération avec succès
content:
application/json:
schema:
$ref: '#/components/schemas/Athlete'
/{id}:
parameters:
- name: id
in: path
description: ID de l'Athlète à récupérer
required: true
schema:
type: integer
get:
tags:
- athlete
summary: Récupération d'un athlète selon son id
operationId: getAthlete
responses:
'200':
description: Opération avec succès
content:
application/json:
schema:
$ref: '#/components/schemas/Athlete'
'400':
description: ID donné invalide
'404':
description: Athlète introuvable
patch:
tags:
- athlete
summary: Mettre à jour un athlète
operationId: updateAthlete
requestBody:
description: Mettre à jour un athlète existant
content:
application/json:
schema:
$ref: '#/components/schemas/Athlete'
responses:
default:
description: Opération avec succès
delete:
tags:
- athlete
summary: Supprimer un athlète
operationId: deleteAthlete
responses:
'400':
description: ID donné invalide
'404':
description: Athlète introuvable
/ping:
get:
summary: Vérifier la disponibilité du service
operationId: ping
responses:
'200':
description: Service disponible
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: pong
components:
schemas:
Athlete:
type: object
properties:
id:
type: integer
format: uuid
example: 123456789
prenom:
type: string
example: Teddy
nom:
type: string
example: Rinner
pays:
type: string
example: France
sexe:
type: string
example: Homme
image:
type: string
example: http://www.humanite.fr/wp-content/uploads/2023/05/311202.hr_.jpg?w=1024
disciplines:
type: array
items:
type: integer
example: 1235
records:
type: array
items:
type: integer
example: 1235
requestBodies:
User:
description: Objet athlète à ajouter
content:
application/json:
schema:
$ref: '#/components/schemas/Athlete'