FasterXML / FasterXML/jackson-module-kotlin

Return multiple missing kotlin parameters at once

Open
#806 6 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Kotlin
Stars
1.2k
Forks
187
Avg merge
9h 48m
Merged PRs (30d)
16

Description

### Use case

We expose public API and we want to to be as descriptive as possible returning bad request response. So we want to return all required null fields at once. By using `KotlinValueInstantiator` and `MissingKotlinParameterException` we are able to return just one at the time. So we use @NotNull annotation validation but this requires us to mark non-null fields as nullable and then use ugly `!!` in the code eg.
```
data class Task(
@field:NotNull
val taskType: TaskType?,
@field:NotNull
val createdAt: Instant?,
@field:NotNull
val updatedAt: Instant?,
)
```

### Describe the solution you'd like

It would be much nicer if exception thrown by jackson kotlin module contained all fields that are invalid (MissingKotlinParameter**s**Exception with a list of missing parameters?). Then we could simplify example above to
```
data class Task(
val taskType: TaskType,
val createdAt: Instant,
val updatedAt: Instant,
)
```
It could be configurable with some kind of flag to keep backward compatibility and not iterate through all fields if not necessary.

### Describe alternatives you've considered

_No response_

### Additional context

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.