1:概要
過去には、私たちは、その後、春に提供することにより、独自の構成データ要求を必要とする前にすべての方法を私に要求を送信した対処私も構築することができるか、実際には、重複したコードの多くがあったんJSONデータに強制的に@ResponseBody
ツールのみを変更する必要のあるデータに関わる実現しています。これは、下のツールを提供します。
パブリック クラスJsonMsg { プライベート int型のコード。 プライベート文字列のMSG。 プライベート地図<文字列、オブジェクト> extendInfo = 新しい HashMapの<> (); 公共 INT にgetCode(){ 戻りコードと } 公共 ボイド SETCODE(int型コード){ この .CODE = コード。 } パブリック文字列GETMSG(){ 戻りMSG。 } 公共 ボイドsetMsg(文字列MSG){ この .MSG = MSG。 } 公共の地図<文字列、オブジェクト> getExtendInfo(){ リターンextendInfo。 } 公共 ボイド setExtendInfo(地図の<string、オブジェクト> extendInfo){ この .extendInfo = extendInfo。 } パブリック 静的JsonMsg成功(){ JsonMsg RES = 新しいJsonMsg()。 res.setCode( 100 )。 res.setMsg( "操作成功!" ); リターンのres; } パブリック 静的JsonMsg失敗(){ JsonMsg RES = 新しいですJsonMsg(); res.setCode( 200 )。 res.setMsg( "操作失败!" ); リターンのres; } 公共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}"、メソッド= RequestMethod.DELETE) @ResponseBody 公共 JsonMsg deleteDept(@PathVariable( "DEPTID" )整数DEPTID) { INT RES = 0 。 もし(DEPTID> 0 ){ RES = departmentService.deleteDeptById(DEPTID)。 } 場合(RES!= 1){ リターン。JsonMsg.fail()addInfo( "del_dept_error"、 "删除异常" )。 } を返す)(JsonMsg.successします。 } / ** *部门更改 * @param DEPTID * @paramの部門 * @return * / @RequestMapping(値 = "/ updateDept / {DEPTID}"、メソッド= RequestMethod.PUT) @ResponseBody 公共 JsonMsg updateDeptById(@PathVariable(」 DEPTID」)整数DEPTID、部門部門){ int型のres = 0 ; もし(DEPTID> 0 ){ RES= departmentService.updateDeptById(DEPTID、部門); } であれば(RES = 1!){ リターン JsonMsg.fail()addInfo( "update_dept_error"、 "部门更新失败"。 )。 } を返す)(JsonMsg.successします。 } / ** *新增部门 * @paramの部門 * @return * / @RequestMapping(値 = "/ addDept"、メソッド= RequestMethod.PUT) @ResponseBody 公共JsonMsg addDept(部門部門){ int型 RES = departmentService.addDept(部門); もし(!= RES 1 ){ リターン。JsonMsg.fail()addInfo( "add_dept_error"、 "例外を追加!" ); } リターンJsonMsg.success(); } / ** *クエリセクタ情報総ページ数 * @return * / @RequestMapping(値 = "/ getTotalPages"、メソッド= RequestMethod.GET) @ResponseBody 公共JsonMsg getTotalPages(){ // ページあたりの行の数 INTの限界= 5 ; // 合計レコード数 INT totalItems = departmentService.getDeptCount(); INTTEMP = totalItems / リミット。 int型 totalPages =(totalItems%の上限== 0)?温度:温度+ 1 ; リターン JsonMsg.success()addInfo( "totalPages"。、totalPages)。 } / ** * * / @RequestMapping(値 = "/ getDeptById / {DEPTID}"、メソッド= RequestMethod.GET) @ResponseBody 公共 JsonMsg getDeptById(@PathVariable( "DEPTID" )整数DEPTID){ 科部門 = NULL ; もし(DEPTID> 0 ){ 部門 = departmentService.getDeptById(DEPTID)。 } であれば(部門!= NULL ){ リターン JsonMsg.success()addInfo( "部署" 、学科); } 戻り JsonMsg.fail()addInfo( "get_dept_error"、 "いいえセクタ情報を" ); } / ** *ページングクエリ:指定されたデータに対応するページの数戻り * @paramのPAGENOではない * @return * / @RequestMapping(値 = "/ getDeptList"、メソッド= RequestMethod.GET) 公衆のModelAndView getDeptList(@RequestParam(値= "PAGENOではない"、はdefaultValue = 」1" )PAGENOは整数){ではない のModelAndViewミュージックビデオ = 新新ModelAndView( "departmentPage" ); //は、ページあたりの行の数を記録 INTをの制限。5 = "部門" 、部門); // レコードの総数 INT totalItems = ; departmentService.getDeptCount() INT TEMP = totalItems / リミット; INT。totalpages =(%のtotalItemsが制限== 0)TEMP :?の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"、メソッド= RequestMethod.GET) @ResponseBody 公共JsonMsg getDeptName(){ リスト <カテゴリー> departmentList = departmentService.getDeptName()。 もし(departmentList!= nullの){ リターン。JsonMsg.success()addInfo( "departmentList" 、departmentList)。 } リターン)(JsonMsg.failします。 } }