웹 서비스를 다시 시작할 수있는 초보자로서 REST API에 대해 간단하게 묻고 싶습니다.REST/JSON API 만들기
@RequestMapping(value = "/JSON/ReceiveData/{metricOne}/{metricTwo}")
public @ResponseBody
String getData(@RequestParam("callback") String callback, @PathVariable String metricType,
@PathVariable String metricPeriod) {
LinkedHashMap<String,String> map = new LinkedHashMap<String, String>();
try{
map = service.getData(metricOne, metricTwo);
}catch(NullPointerException e){
e.printStackTrace();
}
return callback+"("+t2JsonUtil.toJsonString(map)+")";
}
나는의 LinkedHashMap로 JSON 개체를 얻을 수 및 역 직렬화하기 위해 클라이언트 응용 프로그램에 대한 다음과 같은 방법을 만들었습니다 :
public LinkedHashMap getDataClient(String metricOne, String metricTwo) {
LinkedHashMap<String,String> map = null;
try {
URL url = new URL("http://localhost:8081/Metrics/Stats/JSON/ReceiveData/"+metricOne+"/"+metricTwo+"/?callback=");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
String output = br.readLine();
output = output.substring(1,output.length()-1);
JsonFactory factory = new JsonFactory();
ObjectMapper mapper = new ObjectMapper(factory);
TypeReference<LinkedHashMap<String,String>> typeRef= new TypeReference<LinkedHashMap<String,String>>() {};
map = mapper.readValue(output, typeRef);
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return map;
}
을 나는 다음과 같은 방법으로 REST를 통해 데이터를 제공하는 Java 응용 프로그램을 만들었습니다
이 서비스를 다른 언어의 응용 프로그램에 제공하기 위해 API를 만들려면 어떻게해야합니까? getDataClient에 포함 된 URL을 제공하면됩니까? 나 엄청 혼란스러워. 나는 누군가가 나에게 이것에 대한 설명 (또는 작은 예)을 줄 수 있다면 매우 감사 할 것이다. 감사!