lab-development-imb/web/08/labor/08_loesungen/JSONEmpfangen/swaggerneu.yaml

93 lines
2.3 KiB
YAML

openapi: 3.0.0
info:
title: Workshop-Anmeldung API
version: 1.0.0
servers:
- url: http://localhost:8080
paths:
/registrierung:
post:
summary: Anmeldung zu einem Workshop (Formular)
description: API für Anmeldedaten eines Workshops per HTML-Formular.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkshopForm'
responses:
'200':
description: Erfolgreiche Anmeldung (Formulardaten angenommen)
'400':
description: Ungültige Eingabe (fehlende oder fehlerhafte Formulardaten)
/registrierung-json:
post:
summary: Anmeldung zu einem Workshop (JSON)
description: API für Anmeldedaten eines Workshops im JSON-Format.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkshopForm'
responses:
'200':
description: Erfolgreiche Anmeldung (JSON-Daten zurückgegeben)
content:
application/json:
schema:
$ref: '#/components/schemas/WorkshopForm'
'400':
description: Ungültige JSON-Eingabe
components:
schemas:
WorkshopForm:
type: object
properties:
vorname:
type: string
example: "Max"
nachname:
type: string
example: "Mustermann"
email:
type: string
format: email
example: "max@beispiel.de"
handy:
type: string
example: "+491751234567"
kurs:
type: string
example: "Webentwicklung Basics"
session:
type: string
enum: ["vormittag", "nachmittag", "abend", "wochenende"]
example: "abend"
agb:
type: string
enum: ["ja", "on"]
example: "on"
newsletter:
type: string
enum: ["ja", "on"]
example: "ja"
equipment:
type: string
enum: ["ja", "on"]
example: "ja"
format:
type: string
enum: ["online", "praesenz"]
example: "online"
required:
- vorname
- nachname
- email
- agb
- format