Cute Happy Ghost
본문 바로가기
JAVA/Java

Restful API 개발 (2) 정보 조회

by JENN_tech7 2022. 3. 25.
728x90
SMALL

ApiController.java

 @RequestMapping(value="/api/{name}/{id}/list", produces = {ApiConst.APPLICATION_JSON_VALUE})
    @ResponseBody
	 public Map selectList(@PathVariable("name") String name,@PathVariable("id") String id) throws Exception {
    	
        HashMap finalresultMap = new LinkedHashMap();
        HashMap header = new LinkedHashMap(); //상태코드
        HashMap resultMap = new LinkedHashMap(); //데이터

        String resultCode = "00";
        String tn = ApiConst.ApiNameMap.get(name) + id;
        
        try{
        	header.put("returnAuthMsg", ApiConst.ApiResultMap.get(resultCode));
        	header.put("returnReasonCode", resultCode);

        	List list = apiService.selectList(tn);
        	
        	resultMap.put("header",header);
        	resultMap.put("data",list);
        	finalresultMap.put(name+id, resultMap);
        }
        
        catch (Exception e) {
    		....
    	}
        return finalresultMap;
    }

url에서 받은 name과 id를 통해 동적으로 매핑하는 방법을 썼다

테이블이 4개인데 구조는 똑같이 때문이다

url에서 테이블명을 그대로 받는건 좀 그렇기 때문에 조금 변형시켰다

또 불러올 때 공공데이터포털처럼 이름 : header, item이 있는 형태로 만들고싶어서 저렇게 map안에 map넣어서 함

 

<!--전체리스트 출력-->
 	<select id="selectList" resultType="java.util.HashMap" parameterType="String">
    	SELECT * FROM ${value}
    </select>

sql문은 간단

모두 불러오면됨

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
LIST

댓글