package com.navercorp.pinpoint.testapp.controller; import com.navercorp.pinpoint.testapp.service.remote.RemoteService; import com.navercorp.pinpoint.testapp.util.Description; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; import org.springframework.util.LinkedMultiValueMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.Map; /** * @author koo.taejin */ @Controller @RequestMapping("/httpclient4") public class HttpClient4Controller { private static final String GOOGLE_GEOCODE_URL = "http://maps.googleapis.com/maps/api/geocode/json"; private static final String EPL_LEAGUE_TABLE_URL = "http://api.football-data.org/v1/soccerseasons/398/leagueTable"; private static final String DEFAULT_GET_GEOCODE_ADDRESS = "Gyeonggi-do, Seongnam-si, Bundang-gu, Jeongja-dong, 178-1"; @Autowired @Qualifier("httpRemoteService") RemoteService remoteService; @RequestMapping("/getGeoCode") @ResponseBody @Description("HTTP GET to " + GOOGLE_GEOCODE_URL) public Map<String, Object> getGeoCode(@RequestParam(defaultValue = DEFAULT_GET_GEOCODE_ADDRESS, required = false) String address) throws Exception { LinkedMultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>(); params.add("address", address); params.add("sensor", "false"); return remoteService.get(GOOGLE_GEOCODE_URL, params, Map.class); } @RequestMapping("/getEPLLeagueTable") @ResponseBody @Description("HTTP GET to " + EPL_LEAGUE_TABLE_URL) public Map<String, Object> getEplLeagueTable() throws Exception { return remoteService.get(EPL_LEAGUE_TABLE_URL, Map.class); } }