스프링 부트 및 스프링 액추에이터를 사용하고 있습니다. JsonElement 전통적인 POJO하지 않습니다, 때문에 잭슨 문제 JsonElement을 serialising을 가지고Gson 및 스프링 액추에이터
내 프로젝트는 광범위하게 GSON의 JsonElement를 사용하고 모든 내부 방법 (중 등 된 JSONObject, JsonArray 될 수 있습니다) JsonElements을 반환합니다.
그래서 Jackson 대신 Gson을 사용하도록 HttpMessageConvertor를 구성했습니다. 그 후에 액추에이터가 잭슨 주석에 크게 의존하기 때문에 모든 액추에이터 api (건강 등)가 엉망인 것처럼 보입니다.
내가 원하는 건 Gson을 JsonElement에만 사용하고 Jackson은 다른 모든 객체에 사용하는 것입니다. 이것이 가능한가?
그렇지 않은 경우 Gson이 액추에이터와 원활하게 작동하도록하려면 어떻게해야합니까 ??
GSON 출력 앞에서 지적했듯이
{
"status": {
"code": "DOWN",
"description": ""
},
"details": {
"discoveryComposite": {
"status": {
"code": "UP",
"description": "Spring Cloud Consul Discovery Client"
},
"details": {
"discoveryClient": {
"status": {
"code": "UP",
"description": "Spring Cloud Consul Discovery Client"
},
"details": {
"services": [
"CM",
"CM-DITTO",
"consul",
"couchbase",
"rabbitmq"
]
}
}
}
}
}
}
잭슨 출력
{
"status": "DOWN",
"discoveryComposite": {
"description": "Spring Cloud Consul Discovery Client",
"status": "UP",
"discoveryClient": {
"description": "Spring Cloud Consul Discovery Client",
"status": "UP",
"services": [
"CM",
"CM-DITTO",
"consul",
"couchbase",
"rabbitmq"
]
}
}
}