kompendium
2.0.3
2.0.3 2.0.2 2.0.1

# Package io.bkbn.kompendium.annotations

Contains all annotations used by Kompendium

## Types

Field
Link copied to clipboard
@ Target (allowedTargets = [ AnnotationTarget.PROPERTY ])
annotation class Field (name: String , description: String )
Content copied to clipboard

Annotation used to perform field level overrides.

FreeFormObject
Link copied to clipboard
@ Target (allowedTargets = [ AnnotationTarget.PROPERTY ])
annotation class FreeFormObject
Content copied to clipboard
Param
Link copied to clipboard
@ Target (allowedTargets = [ AnnotationTarget.PROPERTY ])
annotation class Param (type: ParamType )
Content copied to clipboard

Used to indicate that a field in a data class represents an OpenAPI parameter

ParamType
Link copied to clipboard
enum ParamType : Enum < ParamType >
Content copied to clipboard

The allowed parameter types as specified by the OpenAPI specification

Referenced
Link copied to clipboard
@ Target (allowedTargets = [ AnnotationTarget.CLASS ])
annotation class Referenced
Content copied to clipboard

This instructs Kompendium to store the class as a referenced component. This is mandatory for any data models that have recursive children. If you do not annotate a recursive class with Referenced, you will get a stack overflow error when you try to launch your API

UndeclaredField
Link copied to clipboard
@ Target (allowedTargets = [ AnnotationTarget.CLASS ])
annotation class UndeclaredField (field: String , clazz: KClass <*>)
Content copied to clipboard

This annotation allows users to add additional fields that are not part of the core data model. This should be used EXTREMELY sparingly. Most useful in supporting a variety of polymorphic serialization techniques.