You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Als je van deze schema componenten code genereert, dan krijgt je bijv. voor PointGeoJson twee classes: PointGeoJson en PointGeoJsonType (enum) met één waarde: Point. Wat mist is een Geometrie enum type. GeoPointJSON ziet er als volgt uit:
pointGeoJSON:
required:
- coordinates
- type
type: object
properties:
type:
type: string
enum:
- Point
coordinates:
minItems: 2
type: array
items:
type: number
Het had moeten zijn:
pointGeoJSON:
required:
- coordinates
- type
type: object
properties:
type:
$ref: '#/components/schemas/Geometrie'
default:
- Point
coordinates:
minItems: 2
type: array
items:
type: number
Geometrie:
type: string
enum:
- Polygon
- Point
- ...
@MelvLee zoals jij voorstelt is Point in de pointGeoJSON default, maar:
type is required, dus ik denk dat default dan geen functie heeft (je mag type niet weglaten om de default waarde te krijgen)
je mag hier niks anders dan Point gebruiken. Polygon is hier fout.
We hadden ervoor kunnen kiezen alleen een generieke GeoJSON component te gebruiken op alle plekken. Voor de responses is dat misschien geen probleem, de gebruiker weet dan alleen niet van te voren wat deze kan krijgen. Bij requests (zoals straks contour in de request body) willen we wel de mogelijkheden beperken. We ondersteunen dan alleen polygoon, niet multipoligoon, enz.
Ik ben ondertussen achter gekomen dat het gebruiken van een enum met één waarde dé manier is om een constante op te geven. Hoewel ik er mee kan leven, denk ik dat in dit geval het gebruik van de discriminator object beter zou zijn. Die is volgens mij toegevoegd om polimorphisme mogelijk te maken
Ik kan me alleen maar bij Frank's Analyse aansluiten. Volgens mij is hier toch geen sprake van polymorphisme. Dat zou volgens mij alleen van toepassing zijn als we het generiek GeoJson component gebruiken. Dan blijft het zo dat je de pointGeoJson als 1 van de subtypes moet definiëren. Of zie ik dat verkeerd ?
No description provided.
The text was updated successfully, but these errors were encountered: