Support construction of Document from java POJOs
- Vorherrschende Sprache
- Java
- Sterne
- 2.6k
- Forks
- 1k
- Ø Merge
- 2 T. 9 Std.
- Gemergte PRs (30 T.)
- 51
Beschreibung
### Describe the feature
Document is a type supported in smithy which can be used to pass unstructured data like json - https://smithy.io/2.0/spec/simple-types.html#document This is an alternative to sending json strings.
However the java AWS SDK support for it requires json to be hand crafted into a document class.
Example Json:
{ "prompt" : "hello" }
needs to be converted as Document as shown below, before it can be passed to an API
Document.fromMap(ImmutableMap.of("prompt", Document.fromString("text"))
It would helpful if Document class provides a helper method `fromObject` where we can pass a Java POJO (similar to dynamo db enhanced client's bean schema)
### Use Case
It is frustrating for customers to create Document objects to send in a json unstructured data in an API request. For example; APIs like Bedrock's Converse takes in Document type which is cumbersome to do in Java. For other languages like python and javascript, you can send in the json object as is.
### Proposed Solution
_No response_
### Other Information
_No response_
### Acknowledgements
- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### AWS Java SDK version used
latest
### JDK version used
17
### Operating System and version
macOs
Beitragsleitfaden
Rechercherichtung
Start by inspecting the Java SDK's Document type and the DynamoDB enhanced client's bean schema, which the issue identifies as relevant examples. Determine the expected POJO-to-document behavior and API surface, then verify that a fromObject helper can represent the shown JSON use case without requiring manual Document construction.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- api
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100