스프링 프로젝트를 개발하다보면 대외 업체와 API 데이터 송수신을 주고받아야 할 때가 있다.
방식은 당연히 여러가지가 있겠지만, 일반적으로 간단하게 만들어보도록 한다.
@RestController
public class SampleApiController {
/**
* callAPI
* @param request
* @param response
* @return
* @throws Exception
*/
@RequestMapping(value = "callAPI", method = RequestMethod.GET)
public @ResponseBody HashMap<String,Object> callAPI(HttpServletRequest request, HttpServletResponse response) throws Exception {
HashMap<String,Object> apiRtn = new HashMap<String, Object>();
apiRtn.put("KEY1", "DATA1");
apiRtn.put("KEY2", "DATA12");
apiRtn.put("KEY3", "DATA123");
apiRtn.put("KEY4", "DATA1234");
return apiRtn;
}
}
긴 설명이 필요없다.
Spring REST API 송수신을 하기 위한 간단한 준비는 여기까지가 끝이다.
HashMap 객체를 먼저 생성한다. 그리고 KEY와 VALUE 값을 넣어준다.
이렇게 임의로 처리한 값을 호출해주면?
localhost:8080//callAPI |
{
"KEY2":"DATA12",
"KEY1":"DATA1",
"KEY4":"DATA1234",
"KEY3":"DATA123"
}
다음과 같은 결과를 얻을 수 있다.
JSON 데이터를 LIST 형식으로 얻고 싶은 경우에는 어떻게 하면 좋을까?
/**
* callAPI
* @param request
* @param response
* @return
* @throws Exception
*/
@RequestMapping(value = "callAPI", method = RequestMethod.GET)
public @ResponseBody HashMap<String,Object> callAPI(HttpServletRequest request, HttpServletResponse response) throws Exception {
HashMap<String,Object> apiRtn = new HashMap<String, Object>();
List<String> listItem = new ArrayList<String>();
apiRtn.put("KEY1", "DATA1");
listItem.add("LIST1");
listItem.add("LIST12");
apiRtn.put("KEY2", listItem);
return apiRtn;
}
간단하다.. 리스트를 만들어줘서 HashMap에 넣어주면 된다.
{
"KEY2":[
"LIST1",
"LIST12"
],
"KEY1":"DATA1"
}
상기 내용과 같이 JSON 데이터가 나오는 것을 알 수 있다.
여기서 또 의문을 가질 수 있다.
큰 따옴표를 어떻게 없앨까?
이 내용은 다른 방식으로 접근해야 한다.
그것은 나중에 시간나면..서술하기로
'Stack Overflow > 스프링' 카테고리의 다른 글
[스프링] 레거시파일 - 크롬에서 파일 다운로드 시 jsp 확장자 파일이 내려받아지는 경우 (254) | 2022.02.25 |
---|---|
[스프링] URL 호출했는데 HTTP Status 405 에러가 발생되는 경우 수정 및 해결방법 (350) | 2022.02.24 |
[스프링] Internal Server Error 예외 오류가 났을 때 원인 찾는 방법 (4) | 2022.02.22 |
[스프링] TOMCAT 7.0 이하 사용 관련하여 Apache 보안 취약점 패치 Log4j 2.17.0 빌드 안되는 이슈 해결 방법 (4) | 2022.02.19 |
[스프링] jsp 버튼 클릭 시 AJAX 여러번 호출 막기 (1번만 눌러지게 하기) (4) | 2022.02.10 |
댓글