Spring

[Spring] AJaxResVO 란?

배씌 2024. 5. 13. 09:41

일반적으로 AJAX 요청에 대한 응답을 캡슐화하기 위해 사용되는 VO(Value Object) 클래스.

-> 클라이언트에게 JSON 형식으로 응답을 반환. 보통 응답의 성공여부, 메시지, 데이터 등의 속성을 포함합니다.

 

ex)

@RequestMapping(value = "/Search", method = {RequestMethod.GET, RequestMethod.POST}) 
public @ResponseBody AJaxResVO Search(Locale locale, Model model, HttpServletRequest request, HttpServletResponse response) throws IOException {
    AJaxResVO res = new AJaxResVO();
    if(Common.seesionCheck(request)) {
    	response.sendError(503);			
    } else {	
        Map<String, Object> data = Common.setDataParam(request);
        List<Map<String, Object>> resultMap = example2Service.search(data);
        res.setSuccess(AJaxResVO.SUCCESS_Y); 
        res.addAttribute("resultMap", resultMap);
    }
    return res; 
}

 

1. 응답 객체 생성

  • AJaxResVO res = new AJaxResVO();
    • : 새로운 AJaxResVO 객체를 생성.

2. 세션 체크

  • if(Common.sessionCheck(request))
    • : 세션이 유효한지 확
  • response.sendError(503);
    • : 세션이 유효하지 않은 경우, HTTP 503 상태코드 반환

3. 데이터 설정 및 조회

  • Map<String, Object> data = Common.setDataParam(request);
    • : 'request' 객체에서 파라미터 추출하여 data 에 저장.
  • List<Map<String, Object>> resultMap = example2Service.search(data);
    • : example2Service 의 search 함수 호출하여 조회 결과를 resultMap 에 저장

4. 응답 설정

  • res.setSuccess(AJaxResVO.SUCCESS_Y);
    • : 응답 객체의 성공 상태 결정.
  • res.addAttribute("resultMap", resultMap);
    • 조회 결과인 resultMap 을 응답 객체에 속성으로 추가.