프로젝트23 Account_exceptionHandler Account_exceptionHandler API 호출 시 exception이 발생할 경우 BasicErrorController에 의해 에러에 대한 정보가 Json으로 반환된다. exception에 의해 기본적으로 반환되는 Json은 다음과 같이 그 형태가 정해져 있다. [BasicErrorController_exception 문구] { "timestamp": "2021-04-28T00:00:00.000+00:00", "status": 500, "error": "Internal Server Error", "exception": "java.lang.RuntimeException", "trace": "java.lang.RuntimeException: 잘못된 사용자\n\tat hello.exception.w.. 2022. 5. 11. Account Validation Account Validation Controller로 들어오는 파라미터(Form 객체의 필드)의 값을 검증한다. 검증에는 Bean Validation과 Validator를 사용한다. Bean Validation과 Validator 둘 중 어느 것을 사용했든 이를 적용하려면 다음과 같이 검증할 객체 앞에 @Valid를 붙여주면 된다. [@Valid] @PostMapping("/account") public ResultMessage createAccount(@Valid @ModelAttribute AccountForm accountForm) 해당 API를 호출할 때 마다 AccountForm을 검증한다. 1. Form 객체_Bean Validation Account와 관련된 API에 사용되는 Form 객체.. 2022. 5. 10. Account Repository Account Repository Account 정보를 DB에서 가져오는 AccountRepository를 만든다. DB에서 엔티티를 가져올 때는 Spring Data JPA와 QueryDSL를 사용한다. 1. Spring Data JPA ■ AccountRepository Spring Data JPA에 의해 인터페이스에 JpaRepository를 상속받도록 하면 자동으로 구현체가 생성된다. 때문에 AccountRepository는 인터페이스로 구현된다. [AccountRepository] public interface AccountRepository extends JpaRepository { Optional findByUsername(String username); Optional findByNickn.. 2022. 5. 10. Account API 명세 Account API 명세 Account와 관련된 API의 형태를 정한다. API의 입력과 출력을 정리한다. 1. Account API 명세 기본적인 CRUD와 관련된 API와 프로필 이미지를 조회하는 API를 만든다. Delete와 관련된 API는 연관관계가 모두 정립된 후에 생성할 것이기 때문에 지금은 정의하지 않는다. 여기선 입력과 정상 출력의 경우만 정리하고 각종 예외 상황은 추후 API 구현 포스팅에서 자세히 다룰 예정이다. ■ Create □ createAccount Account를 생성하고 저장. [createAccount] @PostMapping("/account") public ResultMessage createAccount(@Valid @ModelAttribute AccountForm.. 2022. 5. 5. 이전 1 2 3 4 5 6 다음