2016. 6. 28. 23:34 java/spring
스프링을 이용한 Restful 웹 서비스 구축하기
책 중에 기억할것
HttpMessageConverter 처리를 할때
@ResponseBody 애노테이션을 이용하는 방법과
ResponseEntity<T>를 이용하는 방법이 있다.
ResponseEntity의 경우
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders .add("Content-Type", "application/json; charset=UTF-8");
return new ResponseEntity<T>(T 객체, httpHeaders, HttpStatus.OK);
와 같은 형태로 응답 헤더값도 추가할 수 있음
pom.xml
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${version.jackson}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${version.jackson}</version>
</dependency>
Http Method Conversion
GET, POST만 지원하는 클라이언트가 있다면 POST 메서드의 패라미터로 넘어온
_method 값을 HTTP Method로 변환해 주는 HiddenHttpMethodFilter 클래스를 제공
<input type="hidden" name="_method" value="delete" />
Spring form 태그를 사용할 경우
<form:form method="delete">
<input type="submit" value="삭제" />
</form:form>
예외는 다양한 방법이 있는데..... 이렇게도 할수 있음
@ControllerAdvice
public class RestResponseEntityExceptionHandler {
@ExceptionHandler(value = {ResourceNotFoundException.class})
@ResponseStatus(value = HttpStatus.NOT_FOUND)
@ResponseBody
public RestError handleResourceNotFound(ResourceNotFoundException ex) {
RestError error = new RestError(404, "해당 자원을 찾을 수 없습니다.");
return error;
}
}
RestTemplate 을 사용하는 예제는 상세하게 없어서... 생략
'java > spring' 카테고리의 다른 글
Spring Security 비밀번호 SHA1, 224, 256, 384, 512 암호화 (0) | 2016.11.07 |
---|---|
spring web request, response 로깅 (0) | 2016.10.19 |
spring example (0) | 2014.12.15 |
임시메모 (0) | 2014.10.20 |
JTA 샘플 (0) | 2013.03.14 |