스프링/개념 16

Spring 예외처리 기본 원리와 어노테이션

스프링을 공부하다 보니, 예외처리가 상당히 중요한 것 같습니다.따라서, 스프링 예외처리에 관한 공부 기록을 남겨봅니다! Spring 예외처리는 어떻게 할까요?" @Controller 및 @ControllerAdvice 클래스는 컨트롤러 메서드에서 발생하는 예외를 처리하기 위해 @ExceptionHandler 메서드를 가질 수 있습니다. "스프링 공식 문서를 보면 이렇게 써져 있습니다. 이를 통해 예외 처리의 기본 원리를 알아보겠습니다. 그 전에, @ExceptionHandler에 관해 알아보겠습니다!@ExceptionHandler@ExceptionHandler 메서드는 컨트롤러 메서드에서 발생하는 특정 예외를 처리할 수 있습니다.@RestControllerAdvice와 함께 사용하여 전역 예외 처리를 구..

계층형 패키지 구조 vs 도메인형 패키지 구조

스프링에 대해 공부하다 보니, 패키지 구조 또한 정말 중요하다는 것을 느낍니다.해서, 계층형 패키지 구조와 도메인형 패키지 구조의 모양과 장단점을 간단히 정리하고자 합니다.1. 계층형 패키지 구조controller ⎿ UserController ⎿ LottoController service ⎿ UserService ⎿ LottoServicedto ...domain ...장단점패키지만 보면 전체적인 구조 파악 가능합니다.계층별 응집도가 좋습니다.but 도메인별 응집도는 낮습니다.(하나의 패키지 안에 여러 도메인이 섞여있음.)규모가 커지면 가시성이 떨어집니다. 2. 도메인형 패키지 구조User ⎿ UserController ⎿ UserService ⎿ UserDto ..

HTTP 상태 코드 정리

### HTTP 상태 코드* 200 OK: 요청이 성공적으로 처리되었습니다.* 201 Created: 리소스가 성공적으로 생성되었습니다.* 204 No Content: 요청이 성공적으로 처리되었으나 반환할 데이터가 없습니다.* 400 Bad Request: 잘못된 요청입니다.* 401 Unauthorized: 인증이 필요합니다.* 403 Forbidden: 권한이 없습니다.* 404 Not Found: 요청한 리소스를 찾을 수 없습니다.* 500 Internal Server Error: 서버에서 오류가 발생했습니다. 이제 슬슬 HTTP 상태 코드 외울 때도 되었는데, 조금씩 헷갈리는 것 같아 정리해봅니다. ㅠ

HTTP 메서드에 관해서

HTTP 메서드란?클라이언트와 서버 간의 통신에서 사용되는 일종의 규약입니다. 각 메서드는 특정한 작업을 수행하며, RESTful 서비스에서 리소스 조작을 위해 주로 사용됩니다. HTTP 메서드는 CRUD(Create, Read, Update, Delete) 기능을 제공합니다.1. GET - 서버에서 리소스를 조회. * 안전성: 서버 상태를 변경하지 않는다. * 멱등성: 동일한 요청을 여러 번 수행해도 결과가 동일. * 캐싱: GET 요청은 캐싱할 수 있다.2. POST - 서버에 새로운 리소스를 생성. * 안전성: 서버 상태를 변경. * 멱등성: 동일한 요청을 여러 번 수행하면 여러 개의 리소스가 생성될 수 있음. * 캐싱: 일반적으로 캐싱하지 않음.3. PUT - 서버의 기존..

REST API 설계 규칙!

설명하기에 앞서, RestFul에 대해 헷갈리신다면 여기 한 번 참고해주시면 될 것 같습니다!URL 설계리소스: URI는 리소스를 표현합니다. ex) 사용자를 표현하는 URI = /members.컬렉션: 복수형 명사를 사용하여 리소스 컬렉션을 표현합니다. ex) /members (모든 사용자)리소스 인스턴스: 특정 리소스를 표현하기 위해 식별자를 사용합니다. 예: /members/123 (ID가 123인 사용자) @PathVariable 같은 어노테이션과 함께 공부하시면 좋을 것 같아요 !RestAPI 설계 규칙URI는 정보의 리소스를 표현합니다. ** 행위에 대한 표현이 아닌 리소스 표현하는데 중점을 두어야 한다, 리소스명은 동사보다는 명사를 사용한다. **리소스에 대한 행위는 HTTP Method로 ..

RestFul 에 관하여

RestFul 을 알려면, Rest 에 관하여 알아야 합니다.REST 란?REST(Representational State Transfer) 네트워크 아키텍처 원칙을 기반으로 한 웹 서비스 디자인 방식입니다. REST 는 리소스를 기반으로 한 설계 철학을 따르며, URI을 통해 식별됩니다.(리소스 기반 URL) --> 쉽게 말해, REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이고, 이미지나 텍스트 같은 자원들을 JSON 혹은 XML 형식으로 URL 통해 주고 받는 것이라고 이해하시면 편할 것 같습니다!REST 의 주요원칙Client–server 구조 : 클라이언트와 서버는 서로 독립적이어야 하며, 클라이언트는 url만 알아야 한다. 그리고, 클라이언트와 서버의 인터페이스..