aws / aws/aws-sdk-java-v2

DynamoDB enhanced client Mappers - annotations can be used only on methods

Open
#1,992 6 comments 24 reactions 0 assignees View on GitHub
dynamodb-enhanced feature-request kotlin p2
Dominant language
Java
Stars
2.6k
Forks
1k
Avg merge
2d 9h
Merged PRs (30d)
51

Description

DynamoDB ehnchant client mappers annotations can be applied only to methods, not to fields.
This make it hard (or event create) data classes in Kotlin which are perfect to represent DDB model classes.

## Describe the bug

I'm working on a Kotlin project using DDB enhanced client mappers.
When we worked with v1 we could have created model classes like this:
https://gist.github.com/yairzaslavsky/486a66871c57bf23629a812320abf697

But now, that we want to use the enhanced client , we cannot create data classes, as we the annotations can be applied only to methods.
This ended up with us creating code like this:
https://gist.github.com/yairzaslavsky/8cc4e87ff83425b492522d2bcdb70f04

## Expected Behavior
I would expect to have the ability to implement a data class like in the first link.

## Current Behavior
At the moment i cannot implement a data class this way, as i have to override the getter behavior

## Steps to Reproduce
You can use the above links as example

## Possible Solution
Change the annotations to to be applied to fields as well.

## Context
I am developing a server side component using Kotlin that uses DDB.
## Your Environment

* AWS Java SDK version used:
v2 (kotlin 1.3-x)
* JDK version used:
8
* Operating System and version:
Linux

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.