Comments (3)
I could make it work by stringifying the JSON:
eg.:
async createEvent(createInput: CreateEventInput): Promise<Event> {
return this.client.graphql({
query: createEvent,
variables: {
input: {
...createInput,
involvedPeople: JSON.stringify(createInput.involvedPeople),
},
},
}).then(({ data }) => data.createEvent)
}
Given that the GraphQL schema specifies an array, it's logical to anticipate that the generated input would require an array and not a string. Ignoring the type error in the code might be a temporary workaround, but inherently, it doesn't seem appropriate.
from amplify-js.
Hi @rodrigogs this seems to be expected behavior. At this point, serialization of the data is up to the client.
If you would like for the library to handle serialization, I would recommend opening a feature request.
from amplify-js.
Hi @chrisbonifacio, I appreciate your response, but I must respectfully disagree with the notion that this is expected behavior. The inconsistency arises because the library's generated GraphQL types specify an array for AWSJSON
fields, yet the underlying system only accepts a stringified JSON, which leads to confusion and the need for additional client-side handling that one could argue should be intrinsic to the library's functionality.
If the intent is indeed for clients to handle serialization, it would be beneficial for this to be explicitly documented, or better yet, for the type generation to align more closely with the actual data expectations—either by correcting the type definitions or by handling serialization/deserialization within the library itself. This would enhance developer experience and reduce potential errors. Would you consider revisiting this issue in light of this perspective?
from amplify-js.
Related Issues (20)
- Hub should automatically fire `tokenRefresh` event through Hub HOT 1
- Google login in react native requires two login attempts to work only on production ANDROID HOT 5
- Gen 2 Data client GSI query shows more operators than AppSync console for the same input type
- aws-amplify/auth fetchAuthSession makes network calls to https://cognito-identity.us-east-1.amazonaws.com/ even after setting up custom domain on cognito pool HOT 3
- credentialsProvider not a recognized member of type AuthConfig HOT 1
- I want to make below condition as OR either it should be ADMIN or owner that can enter data to the dynamodb
- fetchAuthSession (server) not refreshing token after expiration HOT 6
- Can't use global auth access with non model types HOT 5
- MqttOverWS - Error handling message in node_modules/.vite/deps/@aws-amplify_pubsub.js HOT 3
- configuring oidc breaks authenricator component HOT 6
- Unable to run client.models.*.update with data coming from client.models.*.observeQuery HOT 2
- Serverside fethAuthSession sometimes returns undefined HOT 12
- GraphQL API: API user group authorization causes identity pool authorization to not work for users in the user group HOT 2
- fetchAuthSession error: "An unknown error has occurred" HOT 12
- [React JS] fetchAuthSession is always returning undefined values HOT 6
- Federated Sign In: Facebook Limited Login (iOS) HOT 1
- Authorization headers not added for gen2 HOT 4
- Datastore stops syncing after pushing with the 12.12.x cli version HOT 3
- Schema Type for the data model not being correctly shown by typecscript HOT 5
- Clockskew handling does not work in Rest API calls HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from amplify-js.