2016-02-02 1 views
1

Je mets en place un serveur API avec Finatra et mes sorties api snake case json, i.e .;Comment faire un httpclient spécifique pour désérialiser le cas de chameau json

case class A { 
    val someProperty: String 
} 

val a = A("value") 

a sera sérialisé int JSON et vice versa

{"some_property":"value"} 

Mais je dois accéder à l'API 3ème partie avec camelcase JSON E/S, qui représentent plus haut objet avec

{"someProperty":"value"} 

Je reçois object MyClientModule extends HttpClientModule via l'injecteur de guice. Comment puis-je remplacer/modifier la configuration jackson pour un client http spécifique?

Répondre

0

HttpClientModule utiliser implicitement FinatraObjectMapper. Bien que vous puissiez configurer FinatraObjectMapper pour sérialiser/désérialiser JSON avec camelCase, cela affecte globalement le comportement. Une méthode simple consiste à instancier explicitement explicitement HttpClient avec votre mappeur d'objet camelCase. L'autre façon est de définir un client http personnalisé et son module fournisseur.