Java에 대한 단상 (2018-03-31 pm 08:55)
백만년만에 Java코드를 봅니다.
Java에서 REST API를 가장 마지막으로 구현해 본 것은 SpringBoot를 사용하여 구현한 것입니다.
경험적으로 API를 잘 만드는 것도 중요하지만 에러가 났을 때 클라이언트에게 정확한 메세지를 전달하게 하여 역할을 나누어 에러에 대한 예외처리를 하는 것이 중요합니다.
이것은 Spring5나 SpringBoot2를 사용해도 마찬가지이고 변함없는 진리입니다.
내가 어떤 예외처리를 잘못하여 클라이언트에게 불필요한 예외를 던저줄때 반드시 필요한 것입니다.
제가 2014년도 부터 사용해온 방식이기도 합니다.
REST API의 모든 예외를 잡아처리하려면
org.springframework.web.bind.annotation.ControllerAdvice
@ControllerAdvice 로 와드를 박고
https://docs.spring.io/…/b…/annotation/ControllerAdvice.html
컨트롤러에서 발생한 예외를 잡아처리하려면
org.springframework.web.bind.annotation.ExceptionHandler
@ExceptionHandler로 잡습니다.
https://docs.spring.io/…/b…/annotation/ExceptionHandler.html
중요한 것은 예외처리를 하고 클라이언트에게 어떠한 @ResponseStatus와 @ResponseBody를 주냐는 것입니다.
https://docs.spring.io/…/bind/annotation/ResponseStatus.html
https://docs.spring.io/…/…/bind/annotation/ResponseBody.html
꼭 사용해보세요. 반드시 도움이 될 것입니다.^^
Spring5에서는 @ResponseStatus의 개선책인 @ResponseStatusException이 나왔습니다.
Exception이 발생하는 소스에서 바로 처리 할 수 있어 좋은 것 같습니다.
[참고링크]
http://www.baeldung.com/spring-response-status-exception
Leave Java에 대한 단상 (2018-03-31 pm 08:55) to:
Read more #java posts
Best Posts From 율이아빠
We have not curated any of darion's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From 율이아빠
- 복습 - 실물화폐 경제와 암호화폐 경제 비교
- IT개발팀 이야기입니다. (2018-04-10 pm 02:16)
- IT개발팀 이야기입니다. (2018-04-09 pm 14:32)
- 주니어 개발자에 대한 단상 (2018-04-02 pm 04:19)
- Java에 대한 단상 (2018-03-31 pm 11:43)
- Java에 대한 단상 (2018-03-31 pm 08:55)
- 블록체인에 대한 단상 (2018-03-25 am 07:43)
- 개인 프로필을 토큰으로 바꾸어 본인이 만든 개인화 정보를 거래해보자.
- 블록체인에 대한 단상 (2018-03-23 am 07:56)
- 블록체인에 대한 단상 (2018-03-22 am 7:40)
- 블록체인에 대한 단상 (2018.03.21 pm 8:15)
- 이더리움 프라이빗 네트워크 환경 구성 고군분투기 (go-ethereum private network setting)
- 웹기반 백엔드 레가시 구조개선에 대한 고민 및 접근 전략
- 블록체인 기술 공유회 질의/답변입니다.
- Geth/v1.8.1에서는 재시작하면 블록이 리셋되는 현상
- Java 레가시에서 클라우드 API 연동 고군분투기