私はJackson ObjectMapperに奇妙な問題があります。ジャックObjectMapperがtry catchで到達不能
RESTコールの結果を解析することを試みています(必要に応じてより良いアプローチを教えてください)。その結果はString
で、私はObjectMapper
と解析してPOJOを設定したいと考えています。しかし、流れはtry catch
セクションにも入りません。
@RequestMapping(value = "/data", method= RequestMethod.GET)
public String getData(Model model){
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> res = restTemplate.exchange("http://api.aelf.org/v1/informations/2017-09-20/romain",
HttpMethod.GET,
UserAgent.setUserAgentInHttpHeader(), String.class);
try{
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(res.getBody());
JsonNode name = root.path("semaine");
model.addAttribute("name", name.asText());
}catch (Exception e){
e.printStackTrace();
}
return "myView";
}
私はこれは私がres
とJSON形式でREST呼び出しの内容BUTでvarialblesのどれも含めたすべての変数を、見ることでデバッグするときに何が起こっている:以下は、私が使用しているcontroller
コードがありますtry
が存在します。したがって、モデルには決してname
データが入力されることはありません。
tryステートメントに入ると、それらの変数はスコープに含まれます。例外にブレークポイントを設定し、これにステップインして、res.getBody()があなたが時計に期待したいことを与えていることを確認します。マッパーコンストラクタをtryから移動させると、cstrは失敗しません。 – Tim
@Tim Yes Tim。私は 'try 'に休憩を入れ、' try'で止まった 'catch 'に...' root'は私が望むものを持っています。私は 'name'のデータに到達できませんでした。' root'のJSON構造体は{{"info":{"semaine": "data1"、 "other_field": "other_data"}}です。それを見るつもりです... – Bloomberg58
@Tim。問題が解決しました... 'tryステートメントに入ると、それらの変数は範囲内になります。例外にブレークポイントを入れて、これを実行するとあなたは私を助けました...ありがとう – Bloomberg58