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 을 응답 객체에 속성으로 추가.