1 : 개요
과거에는, 우리는 다음 봄에 제공함으로써, 자신의 구성 데이터 요청을 필요로 전면에있는 모든 방법으로 나에게 요청을 보냈 처리 I도를 만들 수있는, 사실, 중복 코드를 많이있어왔다 않는 JSON 데이터로 강제 @ResponseBody
도구는 변경해야 할 데이터에 관심을 달성했다. 이는 아래에있는 도구를 제공합니다.
공공 클래스 JsonMsg { 개인 INT의 코드; 개인 문자열 MSG; 개인 지도 <문자열, 개체> extendInfo = 새로운 HashMap의 <> (); 공공 INT getCode () { 반환 코드; } 공공 공극 setCode ( INT의 코드) { 이 .CODE = 코드; } 공공 문자열 getMsg () { 반환 MSG; } 공공 공극 setMsg (문자열 MSG) { 이 된 .msg = MSG; } 공공 지도 <문자열, 개체> getExtendInfo는 () { 반환 extendInfo을; } 공공 무효 setExtendInfo (지도 <문자열, 개체> extendInfo) { 이 .extendInfo = extendInfo; } 공용 정적 JsonMsg 성공 () { JsonMsg 입술 = 새로운 JsonMsg (); res.setCode ( 100 ); res.setMsg ( "操作成功!" ); 반환 입술을; } 공용 정적 JsonMsg 페일 () { JsonMsg 입술 = 새로운 JsonMsg (); res.setCode ( 200 ); res.setMsg ( "操作失败!" ); 반환 입술을; } 공공 JsonMsg addInfo (문자열 키, 개체 OBJ) { 이 .extendInfo.put (키, OBJ); 반환 이 ; } }
내가 사용의 구체적인 예를 들어 보겠습니다 :
그것은 일반적인 CRUD 코드입니다
패키지 com.hrms.controller을; 수입 com.hrms.bean.Department; 수입 com.hrms.service.DepartmentService; 수입 com.hrms.util.JsonMsg; 수입 org.springframework.beans.factory.annotation.Autowired; 수입 org.springframework.stereotype.Controller; 가져 org.springframework.web.bind.annotation을 *. ; 수입 org.springframework.web.servlet.ModelAndView; 수입 은 java.util.List; / ** * @author GenshenWang.nomico * @date 2018년 3월 8일. * / @Controller @RequestMapping (값 = "/ HRMS / DEPT" ) 공공 클래스 DepartmentController { @Autowired DepartmentService departmentService; / ** *删除 * @param deptId * @return * / @RequestMapping (값 = "/ delDept / deptId {}"METHOD = RequestMethod.DELETE) @ResponseBody 공개 JsonMsg deleteDept (@PathVariable ( "deptId" ) 정수 deptId) { INT의 입술 = 0 ; 경우 (deptId> 0 ) { 입술 = departmentService.deleteDeptById (deptId); } 경우 (입술! = 1) { 반환 . JsonMsg.fail ()을 addInfo ( "del_dept_error", "删除异常" ); } 리턴 )를 JsonMsg.success (; } / ** *部门更改 * @param deptId * @param의 부서 * @return * / @RequestMapping (값 = "/ updateDept / deptId {}"METHOD = RequestMethod.PUT) @ResponseBody 공개 JsonMsg updateDeptById (@PathVariable ( " deptId " ) 정수 deptId, 부서 부서) { INT의 고해상도 = 0 ; 경우 (deptId> 0 ) { 입술 = departmentService.updateDeptById (deptId, 부); } 경우 (입술 = 1! ) { 반환 JsonMsg.fail () addInfo ( "update_dept_error"를 "部门更新失败." ); } 리턴 )를 JsonMsg.success (; } / ** *新增部门 * @param의 부서 * @return * / @RequestMapping (값 = "/ addDept"METHOD = RequestMethod.PUT) @ResponseBody 공개 JsonMsg addDept (계열 부) { INT 입술 = departmentService.addDept ( 학과); 만약 (! = RES 1. ) { 반환 JsonMsg.fail () addInfo ( "add_dept_error", "추가 예외!". ); } 반환 JsonMsg.success를 (); } / ** * 쿼리 섹터 정보 페이지의 총 개수 * @return * / @RequestMapping (값 = "/ getTotalPages를"METHOD = RequestMethod.GET) @ResponseBody의 공개 JsonMsg getTotalPages () { // 페이지 당 행 수 의 INT . 한계 = 5 ; // 총 레코드 번호 INT TOTALITEMS = departmentService.getDeptCount (); INT온도 = TOTALITEMS / 한도 departmentService.getDeptById (deptId);INT totalPages = (TOTALITEMS %의 한계 == 0)? 온도 : 온도 + 1 ; 반환 JsonMsg.success () addInfo ( "totalPages." , totalPages); } / ** * * / @RequestMapping (값 = "/ getDeptById / deptId {}"METHOD = RequestMethod.GET) @ResponseBody 공개 JsonMsg getDeptById (@PathVariable ( "deptId" ) 정수 deptId) { 부 부서 = 널 ; 경우 (deptId> 0 ) { 부서 = } 경우 (부서! = null이 ) { 반환 JsonMsg.success () addInfo ( "부서." , 부서); } 반환하지 ( "더 섹터 정보를." "get_dept_error") addInfo을 JsonMsg.fail를 ( ); } / ** * 페이징 쿼리 : 지정된 데이터에 해당하는 페이지의 수를 반환 * 파라미터 : PAGENO이 아닌 * @return * / @RequestMapping (값 = "/ getDeptList"방법 = RequestMethod.GET) 공공 의 ModelAndView getDeptList (@RequestParam (값 = "PAGENO이 아니다", DEFAULTVALUE = ". 1" ) PAGENO는 정수) {아닙니다 의 ModelAndView 뮤직 비디오 = 새로운 새로운의 ModelAndView ( "departmentPage는" ); // 페이지 당 라인 수를 기록 지능 한계. 5 =; // 레코드의 총 개수 INT TOTALITEMS = ; departmentService.getDeptCount () INT TEMP = TOTALITEMS / 한도 INT totalpages = (%의 TOTALITEMS이 == 0 제한) ?. TEMP : 온도 + 1 ; // 첫 페이지에서와 같이 데이터 (+ 1 오프셋) 페이지의 시작 행 (데이터에서) = 0, 스타트 라인 (1) (+ 1 옵셋) INT 오프셋 = (PAGENO 그렇지 - 1. ) * 한도 에서 <부> 부서 = departmentService.getDeptList (오프셋 한계) mv.addObject ( "부서" , 부서) .addObject ( "TOTALITEMS" , TOTALITEMS) .addObject ( "totalPages" , totalPages) .addObject ( "curPageNo" , PAGENO); 반환 MV를; } / ** *查询所有部门名称 * @return * / @RequestMapping (값 = "/ getDeptName"METHOD = RequestMethod.GET) @ResponseBody 공개 JsonMsg getDeptName () { 목록 <부> departmentList = departmentService.getDeptName (); 경우 (departmentList! = null이 ) { 반환 JsonMsg.success () addInfo ( "departmentList." , departmentList을); } 리턴 )를 JsonMsg.fail (; } }