Fixes Base64 enconding for ALB and API Gateway HTTP events#150
Merged
carlzogh merged 2 commits intoaws:masterfrom Jul 30, 2020
Merged
Fixes Base64 enconding for ALB and API Gateway HTTP events#150carlzogh merged 2 commits intoaws:masterfrom
carlzogh merged 2 commits intoaws:masterfrom
Conversation
…ializing/deserializing, and Lombok automatically generate getters/setters. A class using the boolean variable IsBase64Encoded would have IsBase64Encoded/SetBase64Encoded methods. Jackson would convert them to base64Encoded key instead of isBase64Encoded. That is incompatible with the ALB and API Gateway JSON specification. By using lombok.getter.noIsPrefix = true, we would have GetIsBase64Encoded/SetIsBase64Encoded methods, and Jackson would convert them to the expected key isBase64Encoded.
Contributor
|
Can validate that this works - thanks! A suggestion would be to move the |
…runtime/events/lombok.config to src/main/java
Contributor
Author
|
Sure, moved to src/main/java |
raupachz
pushed a commit
to raupachz/aws-lambda-java-libs
that referenced
this pull request
Dec 1, 2020
* Jackson uses the getters/setters names to name the JSON keys when serializing/deserializing, and Lombok automatically generate getters/setters. A class using the boolean variable IsBase64Encoded would have IsBase64Encoded/SetBase64Encoded methods. Jackson would convert them to base64Encoded key instead of isBase64Encoded. That is incompatible with the ALB and API Gateway JSON specification. By using lombok.getter.noIsPrefix = true, we would have GetIsBase64Encoded/SetIsBase64Encoded methods, and Jackson would convert them to the expected key isBase64Encoded.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue
Jackson uses the getters/setters names to name the JSON keys when serializing/deserializing, and Lombok automatically generate getters/setters. A class using the boolean variable IsBase64Encoded would have IsBase64Encoded/SetBase64Encoded methods. Jackson would convert them to base64Encoded key instead of isBase64Encoded. That is incompatible with the ALB and API Gateway events JSON specification. By using lombok.getter.noIsPrefix = true, we would have GetIsBase64Encoded/SetIsBase64Encoded methods, and Jackson would convert them to the expected key isBase64Encoded.
Description of changes:
Adds lombok.config with lombok.getter.noIsPrefix = true to change the serialization behavior with the isBase64Encoded key.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.