Comments (5)
Hi. As you guessed, the issue is that there isn't (in that version of the SDK) a custom deserializer for LDUser. None was needed for the SDK's own use; the custom serializer was implemented because the SDK serializes user data as part of analytics events (and also because passing user data from back-end code to front-end code was a plausible use case).
In version 5.0.0 and above, there's a well-defined set of SDK classes that fully support JSON serialization and deserialization, including LDUser. I realize that you may not be at a convenient point to migrate to 5.x right now, but it's unlikely that we would be adding new features to 4.x at this point.
Does your code need to actually do things with the properties of the deserialized user, or are you just transferring it as-is to another service? If it's the latter then you could simply represent it as JsonElement
so it would be treated as generic JSON data.
from java-server-sdk.
As we use some data to evaluate flags, I'm revealing more data than I want to reveal in regular getAccount request on my account service, so I want to represent it as LDUser(or similar) in order to transfer it as a flag specific information(which is encapsulated)
from java-server-sdk.
I'll take a look at what the current behavior is for deserializing with the default Gson behavior, and see if it's possible to make the SDK tolerate the result of that better (i.e. if it is really only a matter of whether it sees a null
somewhere that it expects LDValue.null()
, as you suggested, then maybe that piece of code could be made null-tolerant) in which case it would be a patch rather than a new feature. But I can't say off the top of my head whether that's the case. It depends on how closely the internal representation of the object corresponds to the JSON schema; they might have diverged once we started using a custom serializer.
from java-server-sdk.
Well, I had a test that checks all the fields, the only differences I found were null fields, LDValue.null() was replaced with null on the serialization -> deserialization, Thank you!
from java-server-sdk.
Released version 4.14.1 with a fix for this.
If you later migrate your code to the 5.x SDK, you'll want to look at this package.
from java-server-sdk.
Related Issues (20)
- Annotation to check if a flag is enabled or not HOT 1
- SDK keeps trying to post diagnostics, even when using invalid sdk key HOT 3
- Proper module-info.java HOT 10
- No feature flags loaded after upgrade from 5.6.7 to 5.7.0 HOT 3
- Add stream connection established log HOT 4
- Launch Darkly Metrics conflating Version numbers. HOT 3
- Getting numerous Error posting diagnostic event (giving up permanently): HTTP error 401 (invalid SDK key) HOT 2
- Synk reports the low version of okHttp3 dependency HOT 3
- Vulnerability in snakeyaml HOT 3
- LaunchDarkly Client initialing failed even add LaunchDarkly Certificate to java key store. HOT 9
- `isInitialized` & `dataStore.isInitialized()` HOT 3
- Please provide ability to `LDClient` in non-blocking manner HOT 4
- fat jar brings in duplicate copy of `launchdarkly-logging` HOT 3
- Allow lazily computed defaultValues in LDClient to improve code readability HOT 6
- java-server-sdk is vulnerable to CVE-2022-1471 RCE HOT 3
- Builder object is not exist in V6 but is taken as an example in the docs HOT 6
- Evaluation can throw when the same segment is used in multiple rules within a single flag HOT 6
- Vulnerability CVE-2022-1471 is introduced via SnakeYaml 1.32. Upgrading to 2.0 should fix it. HOT 3
- update to guava 32.0.0 to resolve CVE-2023-2976 HOT 6
- Stream continuously reset 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 java-server-sdk.