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

Restful API 개발 (1) 데이터 저장 api개발 및 api테스트 사이트

by JENN_tech7 2022. 3. 25.
728x90
SMALL

url로 데이터를 전송하면 저장이 되는 api를 개발해야함

view는 없어도 됨

@RestController = @Controller + @ResponseBody

RestController를 써도 되지만 나는 다른 기능때문에 일단은 분리하여 개발

 

구조는 contoller,service,serviceImpl,Dao,Vo,mapper파일이고 상수만 설정해놓은 파일도 하나 생성했다

 

Apicontroller.java


@Controller
@SuppressWarnings({"all"})
public class ApiController extends BaseController {

    @Resource(name="ApiService")
    protected ApiService apiService;
    
    @RequestMapping("/api/saveInfo")
    @ResponseBody
    public Map saveInfo(HttpServletRequest request, ModelMap model
            ,  @ModelAttribute InfoVO infoVO) throws Exception {

        Map paramMap = getParameterMap(request, true);
        Map resultMap = new HashMap();
        
        String resultCode = "00";

        try {
        	
    		if(CommUtils.isEmpty(infoVO.getCd())) {
        		resultCode = "03";
        		resultMap.put("errMsg", ApiConst.ERR_MSG);
        	} else {
        		// 코드를 저장한다.
            	apiService.saveInfo(paramMap);	
        	}
        	
            resultMap.put("returnAuthMsg", ApiConst.ApiResultMap.get(resultCode));
            resultMap.put("returnReasonCode", resultCode);
        }
      
        catch (Exception e) {
        	resultCode = "99";
            resultMap.put("errMsg", ApiConst.ERR_MSG);
            resultMap.put("returnAuthMsg", ApiConst.ApiResultMap.get(resultCode));
            resultMap.put("returnReasonCode", resultCode);
        }

        return resultMap;
    }
}

 

 

 

ApiService.java

@SuppressWarnings({"all"})
public interface ApiService {
	public void saveInfo(Map paramMap) throws Exception;
}

 

 

 

 

ApiServiceImpl.java

@Service("ApiService")
@SuppressWarnings({"all"})
public class ApiServiceImpl extends BaseService implements ApiService {

    @Resource(name = "ApiDAO")
    private ApiDAO apiDAO;
    
    /**코드를 등록한다.*/
    @Override
	public void saveInfo(Map paramMap) throws Exception {

		apiDAO.saveInfo(paramMap);
	}
}

 

 

 

ApiDao.java

@Repository("ApiDAO")
@SuppressWarnings({"all"})
public class ApiDAO extends BaseDAO {

    /* 코드 등록*/
    public int saveInfo(Map paramMap) {
        return save("Api.saveInfo", paramMap);
    }
}

 

 

 

mapper-Api.xml

<mapper namespace="Api">

    <!-- 코드저장 -->
    <insert id="saveInfo" parameterType="java.util.HashMap">
        INSERT INTO tableA (
             ...
        ) VALUES (
             #{..}
			...
        )
    </insert>
    
</mapper>

 

 

Api 테스트는 postman을 사용했다

https://web.postman.co/

 

 


 

ApiConst.java

@SuppressWarnings("unused")
public class ApiConst {

    private ApiConst() {};
    
    static final String ERR_MSG = "SERVICE ERROR";
    
	static final Map<String, String> ApiResultMap;
    static {
        Map<String, String> map = new HashMap<String, String>();
        map.put("00", "SUCCESS"); // 정상
       ....
        
        ApiResultMap = Collections.unmodifiableMap(map);
    }
    


}

 

728x90
LIST

댓글