봄 부트 프로젝트는 글로벌 JSON 데이터를 유지

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 (; 
    } 


}

추천

출처www.cnblogs.com/dgwblog/p/12076702.html