micronaut-serialization
micronaut-serialization copied to clipboard
Decouple Micronaut Modules from Jackson
- [ ] micronaut-gcp
- [x] micronaut-problem-json [ ] ❌ #94
- [ ] micronaut-discovery-client
- [x] micronaut-rabbitmq
- [x] micronaut-security
- [ ] micronaut-data
- [x] micronaut-mqtt
- [x] micronaut-nats
- [x] micronaut-liquibase
- [x] micronaut-pulsar
- [ ] micronaut-aws
- [x] micronaut-jms
- [x] micronaut-sql
- [x] micronaut-graphql
- [x] micronaut-kafka
Micronaut GCP
- https://github.com/micronaut-projects/micronaut-gcp/blob/ce266bc373eae9fd95d68fd7200696af2c57dbaa/gcp-function-http/src/main/java/io/micronaut/gcp/function/http/jackson/ObjectMapperCustomizer.java
- https://github.com/micronaut-projects/micronaut-gcp/blob/ce266bc373eae9fd95d68fd7200696af2c57dbaa/gcp-pubsub/src/main/java/io/micronaut/gcp/pubsub/serdes/JsonPubSubMessageSerDes.java
- https://github.com/micronaut-projects/micronaut-gcp/blob/c9f63645a2dde5efe80660760af12f23aff6ff24/gcp-logging/build.gradle#L9
Micronaut Problem JSON
- https://github.com/micronaut-projects/micronaut-problem-json/blob/29f4645bf1244c9c3079053778be3e6ab1899fb1/problem-json/src/main/java/io/micronaut/problem/conf/MixInThrowableProblem.java
Micronaut Discovery Client
- Significant uses of Jackson DataBind for Consul/Eureka (https://github.com/micronaut-projects/micronaut-discovery-client/blob/3d6c214f8652d9858580ac0e07e98d4563e9c545/discovery-client/src/main/java/io/micronaut/discovery/consul/client/v1/KeyValue.java) probably best to add a dependency on the data bind module
Micronaut RabbitMQ
- https://github.com/micronaut-projects/micronaut-rabbitmq/blob/97d228b042c30c71e1665f51f9bfacbf346736ae/rabbitmq/src/main/java/io/micronaut/rabbitmq/serdes/JsonRabbitMessageSerDes.java
Micronaut Security
- https://github.com/micronaut-projects/micronaut-security/blob/501868df501c1a52b6c90612fb041b023404961d/security/src/main/java/io/micronaut/security/authentication/jackson/SecurityJacksonModule.java#L36
- https://github.com/micronaut-projects/micronaut-security/blob/98e2eb51015291541261ce7b1c2825a433b96ccc/security-jwt/src/main/java/io/micronaut/security/token/jwt/endpoints/KeysController.java
- https://github.com/micronaut-projects/micronaut-security/blob/7fb43151fe663707fa769119a8e219169557cf27/security-oauth2/src/main/java/io/micronaut/security/oauth2/endpoint/token/response/OpenIdTokenResponse.java
- https://github.com/micronaut-projects/micronaut-security/blob/aade741380a4a50dfc4ab120a6a15469c84b0c37/security-oauth2/src/main/java/io/micronaut/security/oauth2/grants/RefreshTokenGrant.java
- https://github.com/micronaut-projects/micronaut-security/blob/aade741380a4a50dfc4ab120a6a15469c84b0c37/security-oauth2/src/main/java/io/micronaut/security/oauth2/grants/SamlBearerAssertionGrant.java
- https://github.com/micronaut-projects/micronaut-security/blob/aade741380a4a50dfc4ab120a6a15469c84b0c37/security-oauth2/src/main/java/io/micronaut/security/oauth2/endpoint/token/response/TokenErrorResponse.java
- https://github.com/micronaut-projects/micronaut-security/blob/aade741380a4a50dfc4ab120a6a15469c84b0c37/security/src/main/java/io/micronaut/security/endpoints/introspection/IntrospectionResponse.java
- https://github.com/micronaut-projects/micronaut-security/blob/aade741380a4a50dfc4ab120a6a15469c84b0c37/security-oauth2/src/main/java/io/micronaut/security/oauth2/grants/ClientCredentialsGrant.java
- https://github.com/micronaut-projects/micronaut-security/blob/98e2eb51015291541261ce7b1c2825a433b96ccc/security/src/main/java/io/micronaut/security/endpoints/introspection/IntrospectionController.java
- https://github.com/micronaut-projects/micronaut-security/blob/501868df501c1a52b6c90612fb041b023404961d/security-oauth2/src/main/java/io/micronaut/security/oauth2/client/OpenIdClientFactory.java
Micronaut Data
- https://github.com/micronaut-projects/micronaut-data/blob/797257aa8d1176df3bf01520f837c68b5a9da29f/data-model/src/main/java/io/micronaut/data/model/Pageable.java
- https://github.com/micronaut-projects/micronaut-data/blob/fa62a8f3a4cb39e4d9b936c899816acd80e2016e/data-model/src/main/java/io/micronaut/data/model/Slice.java
- https://github.com/micronaut-projects/micronaut-data/blob/91dbafaa59e2bf27e634c3cd536630889efe3e48/data-model/src/main/java/io/micronaut/data/model/DefaultPage.java
Micronaut MQTT
- https://github.com/micronaut-projects/micronaut-mqtt/blob/cf4adeb37df9a0abcff6cdaff8aa9cb5c47740c3/mqtt-core/src/main/java/io/micronaut/mqtt/serdes/JsonMqttPayloadSerDes.java
Micronaut NATs
- https://github.com/micronaut-projects/micronaut-nats/blob/09dcdf363de4729840087820ff4feb0b24f0e4ee/nats/src/main/java/io/micronaut/nats/serdes/JsonNatsMessageSerDes.java
Micronaut Liquibase
- https://github.com/micronaut-projects/micronaut-liquibase/blob/2c2da5ffd41b5f1ea09fcfe9d9791c0134ad8bdd/liquibase/src/main/java/io/micronaut/liquibase/endpoint/RanChangeSetSerializer.java
Micronaut Pulsar
- https://github.com/micronaut-projects/micronaut-pulsar/blob/281fba84ddda21b18444fa854b9de4ba44d40de4/pulsar/src/main/java/io/micronaut/pulsar/schemas/json/JacksonJsonWriter.java
- https://github.com/micronaut-projects/micronaut-pulsar/blob/281fba84ddda21b18444fa854b9de4ba44d40de4/pulsar/src/main/java/io/micronaut/pulsar/schemas/JsonSchema.java
Micronaut AWS
- https://github.com/micronaut-projects/micronaut-aws/blob/222f6025a66500d692ba1de570de8f186993df0d/function-aws-api-proxy/src/main/java/io/micronaut/function/aws/proxy/AbstractLambdaContainerHandler.java
Micronaut JMS
- https://github.com/micronaut-projects/micronaut-jms/blob/246d25a9e2d2695a799d1d8a8b85a57b8bcb2f69/jms-core/build.gradle
- https://github.com/micronaut-projects/micronaut-jms/blob/72b4a4366145cc1a2b20b0a9cc7cb8041c2772db/jms-core/src/main/java/io/micronaut/jms/serdes/DefaultSerializerDeserializer.java
Micronaut SQL
- https://github.com/micronaut-projects/micronaut-sql/blob/5fda28e2392ae3bd6d30420bff76bb0046a2d2cf/jooq/src/main/java/io/micronaut/configuration/jooq/JacksonConverterProvider.java
Micronaut GraphQL
- https://github.com/micronaut-projects/micronaut-graphql/blob/1baa6e48b1cf60037478c3e15e207583402e009b/graphql/src/main/java/io/micronaut/configuration/graphql/JacksonGraphQLJsonSerializer.java
Micronaut Kafka
- https://github.com/micronaut-projects/micronaut-kafka/blob/66fd3b7248f76b3ee15e5a015e9289c38d3af390/kafka/src/main/java/io/micronaut/configuration/kafka/serde/JsonSerde.java
-
[x] https://github.com/micronaut-projects/micronaut-problem-json/blob/29f4645bf1244c9c3079053778be3e6ab1899fb1/problem-json/src/main/java/io/micronaut/problem/conf/MixInThrowableProblem.java : This essentially "adds" an annotation to another class dynamically depending on a config value. We can't modify the target class (ThrowableProblem) because it's in a library. I see a few options:
-
support mixins in other json mappers
-
only allow this feature for jackson
-
create a custom serializer for this type if there's ever a cross-format approach to doing this
-
wrap
ThrowableProblemin another class that hides these fields
The last option seems to be the least intrusive, so I'll take a look if this is feasible.
edit: done, PR: https://github.com/micronaut-projects/micronaut-problem-json/pull/69
- [x] micronaut-rabbitmq: still on mn 3.0.3, can't use the json abstractions introduced in 3.1.
@yawkat have to upgrade the module at the same time
- micronaut-rabbitmq: https://github.com/micronaut-projects/micronaut-rabbitmq/pull/293
- micronaut-mqtt: https://github.com/micronaut-projects/micronaut-mqtt/pull/108
micronaut-nats: https://github.com/micronaut-projects/micronaut-nats/pull/192
micronaut-liquibase: https://github.com/micronaut-projects/micronaut-liquibase/pull/205
micronaut-pulsar: https://github.com/micronaut-projects/micronaut-pulsar/pull/141
micronaut-jms: https://github.com/micronaut-projects/micronaut-jms/pull/188
micronaut-sql: https://github.com/micronaut-projects/micronaut-sql/pull/516
micronaut-graphql: https://github.com/micronaut-projects/micronaut-graphql/pull/223
micronaut-kafka: https://github.com/micronaut-projects/micronaut-kafka/pull/444
micronaut-security: https://github.com/micronaut-projects/micronaut-security/pull/889
Problem has this bug https://github.com/micronaut-projects/micronaut-problem-json/issues/94
Doesn’t seem like a bug