SpringMVC REST 인터페이스 구축: 제7 편 제어 층 실현
9925 단어 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
REST API (RESTfull API)란?REST는 Representational State Transfer라는 용어의 약자로 웹의 장점을 최대한 활용할 수 있도록 만들어진 네트워크 아키텍처 원리의 모음이다. 1. HTTP URI를 통해 자원을 명시하고 2...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.