SpringMVC REST 인터페이스 구축: 제7 편 제어 층 실현

9925 단어 REST
SpringMVC 는 REST 인 터 페 이 스 를 구축 하 는 제어 층 으로 전체 인터페이스의 맨 윗 층, 즉 사용자 에 게 직접 노출 된다.
        이 층 에 서 는 호출 자의 신분 과 들 어 오 는 매개 변 수 를 검증 하고 매개 변 수 를 되 돌려 주 는 조직 입 니 다.
        저 는 대상 을 좋아 합 니 다. 하나의 매개 변수 로 하 는 것 을 좋아 하지 않 습 니 다. 그리고 저 희 는 jackjson 으로 대상 인 스 턴 스 와 JSon 의 전환 을 자동 으로 진행 하기 때문에 출력 매개 변수의 대상 집합 을 입력 해 야 합 니 다. 현재 SpringMVC 는 제어 층 의 방법 매개 변수 에 대해 범 형 을 지원 하지 않 기 때문에 우 리 는 com. jiahe. rest. demo 2. requestmodels 에서 해당 하 는 요청 매개 변수 대상 을 만들어 야 합 니 다.출력 은 범 형 을 사용 할 수 있다.
1. 입력 매개 변수 조직
       com. jiahe. rest. demo 2. requestmodels 에서 인터페이스 요청 의 머리 대상 과 DishesCook 요청 대상 을 순서대로 만 듭 니 다.
        1. 인터페이스 요청 의 머리 대상 Header
public class Header   implements Serializable  {
private static final long serialVersionUID = 1L;
private String ck; / 호출 자 에 게 주 는 것 은 항목 에 따라 기준 을 제정한다.
private String v; / 로그 인 인터페이스 후의 반환 값 을 호출 하여 항목 에 따라 기준 을 정 합 니 다.
        ...ToAdd get/set                                               Eclipse 를 이용 하여 각 속성의 get \ set 를 생산 합 니 다.
        ...ToAdd toString()                                          Eclipse 를 이용 하여 인 스 턴 스 를 생산 하 는 문자열 변환
        ...ToAdd Constructors from super              Eclipse 를 이용 하여 기본 구조 함 수 를 생산 합 니 다.
        ...ToAdd Constructor use fields                  Eclipse 를 이용 하여 전체 필드 를 생산 하 는 구조 함수}
         2, DishesCook 의 요청 대상
public class DishesCookReauest   implements Serializable {
        private static final long serialVersionUID = 1L;
private Header 헤더
private DishesCook dishesCook; / 요청 대상
        ...ToAdd get/set                                               Eclipse 를 이용 하여 각 속성의 get \ set 를 생산 합 니 다.
        ...ToAdd toString()                                          Eclipse 를 이용 하여 인 스 턴 스 를 생산 하 는 문자열 변환
        ...ToAdd Constructors from super              Eclipse 를 이용 하여 기본 구조 함 수 를 생산 합 니 다.
        ...ToAdd Constructor use fields                  Eclipse 를 이용 하여 전체 필드 를 생산 하 는 구조 함수}
2. 출력 매개 변수 조직
        출력 한 JSon, 우 리 는 {"data": "," message ":", status: 0} 형식 을 사용 하기 때문에 com. jiahe. rest. demo 2. response Models 에 대응 하 는 일반적인 대상 을 만들어 야 합 니 다.
public class ResultData implements Serializable {
        private static final long serialVersion UID = 1L; private int status; / / 0: 실패 로 돌아 갑 니 다. 1: private T data 성공, / / 구체 적 인 대상 private String message; / / 오류 시 메시지
        ...ToAdd get/set                                               Eclipse 를 이용 하여 각 속성의 get \ set 를 생산 합 니 다.
        ...ToAdd toString()                                          Eclipse 를 이용 하여 인 스 턴 스 를 생산 하 는 문자열 변환
        ...ToAdd Constructors from super              Eclipse 를 이용 하여 기본 구조 함 수 를 생산 합 니 다.
        ...ToAdd Constructor use fields                  Eclipse 를 이용 하여 전체 필드 를 생산 하 는 구조 함수}
3. DishesCook 제어 층 실현
        1. package com. jiahe. rest. demo 2. contrller 에 dishesCookController 를 추가 합 니 다.
         2. 나머지 는 과 대체적으로 같 고 다음은 코드 이다.
@Controller
@RequestMapping("/dishescook")
public class DishesCookController {
	
	@Autowired
	private DishesCookService dishesCookService;
	
	/**
     * add      DishesCook
     * http://localhost:8080/demo2/dishescook/add
	 * @param requestData
	 * @param mode
	 * @param response
	 * @return
	 * @throws IOException
	 */
	@RequestMapping(value = "/add", method = RequestMethod.POST)
	@ResponseBody
	public ResultData add(@RequestBody DishesCookRequest requestData,
			Model mode, HttpServletResponse response) throws IOException {		
		ResultData resultData =new ResultData();
		resultData.setStatus(0);
		resultData.setData(null);
		if (requestData==null) {			
			resultData.setMessage("    :      ");
		} else {			
			//      
			try {
				int i=dishesCookService.insert(requestData.getDishesCook());
				if (i==1){
					resultData.setStatus(1);
					resultData.setMessage("    ");
				} else {
					resultData.setMessage("    ");
				}
			} catch (Exception e) {
				resultData.setMessage("    :"+e.getMessage());
			}			
		}
		return resultData;
	}
	
	/**
	 * update      DishesCook
     * http://localhost:8080/demo2/dishescook/update
	 * @param requestData
	 * @param mode
	 * @param response
	 * @return
	 * @throws IOException
	 */
	@RequestMapping(value = "/update", method = RequestMethod.POST)
	@ResponseBody
	public ResultData update(@RequestBody DishesCookRequest requestData,
			Model mode, HttpServletResponse response) throws IOException {		
		ResultData resultData =new ResultData();
		resultData.setStatus(0);
		resultData.setData(null);
		if (requestData==null) {			
			resultData.setMessage("    :      ");
		} else {			
			//      
			try {
				int i=dishesCookService.update(requestData.getDishesCook());
				if (i==1){
					resultData.setStatus(1);
					resultData.setMessage("    ");
				} else {
					resultData.setMessage("    ");
				}
			} catch (Exception e) {
				resultData.setMessage("    :"+e.getMessage());
			}			
		}
		return resultData;
	}
	
	/**
     * deleteByID      DishesCook
     * http://localhost:8080/demo2/dishescook/deletebyid
	 * @param requestData
	 * @param mode
	 * @param response
	 * @return
	 * @throws IOException
	 */
	@RequestMapping(value = "/deletebyid", method = RequestMethod.POST)
	@ResponseBody
	public ResultData deleteByID(@RequestBody DishesCookRequest requestData,
			Model mode, HttpServletResponse response) throws IOException {		
		ResultData resultData =new ResultData();
		resultData.setStatus(0);
		resultData.setData(null);
		if (requestData==null) {			
			resultData.setMessage("    :      ");
		} else {			
			//      
			try {
				int i=dishesCookService.deleteByID(requestData.getDishesCook());
				if (i==1){
					resultData.setStatus(1);
					resultData.setMessage("    ");
				} else {
					resultData.setMessage("    ");
				}
			} catch (Exception e) {
				resultData.setMessage("    :"+e.getMessage());
			}			
		}
		return resultData;
	}
	
	@RequestMapping(value = "/deletebycondition", method = RequestMethod.POST)
	@ResponseBody
	public ResultData deleteByCondition(@RequestBody DishesCookRequest requestData,
			Model mode, HttpServletResponse response) throws IOException {		
		ResultData resultData =new ResultData();
		resultData.setStatus(0);
		resultData.setData(null);
		if (requestData==null) {			
			resultData.setMessage("    :      ");
		} else {			
			//      
			try {
				int i=dishesCookService.deleteByCondition(requestData.getDishesCook());
				if (i==1){
					resultData.setStatus(1);
					resultData.setMessage("    ");
				} else {
					resultData.setMessage("    ");
				}
			} catch (Exception e) {
				resultData.setMessage("    :"+e.getMessage());
			}			
		}
		return resultData;
	}
	
	@RequestMapping(value = "/findbyid", method = RequestMethod.POST)
	@ResponseBody
	public ResultData findByID(@RequestBody DishesCookRequest requestData,
			Model mode, HttpServletResponse response) throws IOException {		
		ResultData resultData =new ResultData();
		resultData.setStatus(0);
		resultData.setData(null);
		if (requestData==null) {			
			resultData.setMessage("    :      ");
		} else {			
			//      
			try {
				DishesCook dishesCook =dishesCookService.findByID(requestData.getDishesCook());
				resultData.setStatus(1);
				resultData.setData(dishesCook);
			} catch (Exception e) {
				resultData.setMessage("    :"+e.getMessage());
			}			
		}
		return resultData;
	}
	
	@RequestMapping(value = "/findbycondition", method = RequestMethod.POST)
	@ResponseBody
	public ResultData> findByCondition(@RequestBody DishesCookRequest requestData,
			Model mode, HttpServletResponse response) throws IOException {		
		ResultData> resultData =new ResultData>();
		resultData.setStatus(0);
		resultData.setData(null);
		if (requestData==null) {			
			resultData.setMessage("    :      ");
		} else {			
			//      
			try {
				List dishesCookList =dishesCookService.findByCondition(requestData.getDishesCook());
				resultData.setStatus(1);
				resultData.setData(dishesCookList);
			} catch (Exception e) {
				resultData.setMessage("    :"+e.getMessage());
			}			
		}
		return resultData;
	}
	
	@RequestMapping(value = "/findcountbycondition", method = RequestMethod.POST)
	@ResponseBody
	public ResultData findCountByCondition(@RequestBody DishesCookRequest requestData,
			Model mode, HttpServletResponse response) throws IOException {		
		ResultData resultData =new ResultData();
		resultData.setStatus(0);
		resultData.setData(null);
		if (requestData==null) {			
			resultData.setMessage("    :      ");
		} else {			
			//      
			try {
				Long l =dishesCookService.findCountByCondition(requestData.getDishesCook());
				resultData.setStatus(1);
				resultData.setData(l);
			} catch (Exception e) {
				resultData.setMessage("    :"+e.getMessage());
			}			
		}
		return resultData;
	}
}
      ,    ,         ,         .
  :1、  action         method = RequestMethod.POST,       。
      2、   ,        。
   :http://download.csdn.net/detail/lxhjh/5435319

좋은 웹페이지 즐겨찾기