@Valid가 달려 있는 해당 객체 Bean Validation이 즉, 데이터 검증이 일어나기 위해서는 꼭 붙어야 함!
@RequestBody : Body에 JSON 형식으로 받아옴
PostMan의 Cookies 버튼으로 창 열기 → 입력창에 localhost 입력 → Value 부분에 크롬 개발자 모드, Value 코드 넣어주기 → 앞 부분에 크롬 개발자 모드, Name 넣어주기 → 저장 → PostMan에서 요청을 보낼 때 우리가 저장한 Cookie도 함께 요청 됨
Validation 예외 처리
Validation에서 예외가 발생하면 BindingResult 객체에 오류에 대한 정보가 담겨서 들어옴
파라미터로 받고 해당 오류가 어떻게 발생하고 있는지 체크를 해서 로그를 찍어줌
.exchange() ;
()안에 첫 번째 requestEntity 타입의 필드를 줄 수 있음
()안에 두 번째는 받아올 데이터
String 받아와서 fromJSONtoltems을 사용해서 넘어온 String 타입의 JSON 형태, 다중 JSON 형태를 처리
한 명의 고객이 여러번 주문 가능한 상황을 Java Collection을 사용해서 표현할 수 있음
1:1 단방향 관계
고객 Entity 필드 없음 조회가 안됨
양방향 관계
서로의 Entity를 가지고 있음
외래키의 주인 = 연관관계의 주인
왜래키의 주인만이 외래키를 컨트롤 할 수 있다
mappesBy : 외래키의 주인을 설정할 때 쓰는 옵션
설정하지 않으면 외래키의 주인이 누구인지 모름
옵션은 외래키 주인 즉 상대 Entity의 필드명
→ @JoinColumn으로 외래키를 가지는 필드의 명
메인페이지 (index.html) 이 실행되면서 로그인 버튼 클릭시 로그인 화면(login.html)으로 이동. 로그인 성공시 메인페이지에 유저네임 값이 세팅된다.
1차 목표
글 상세 페이지에 댓글 추가 및 삭제 기능 구현.
Comment(entity)-> view에서 받아온값을 기반으로 ->CommentRequestDto -> CommentResponseDto-> CommentController -> CommentService -> CommentRepositroy-> view에 적용 의 순서를 기반으로 개발 진행해야합니다.
로그인 되어있을 때만 댓글을 달 수 있도록 만들어야하고 작성한 댓글에는 로그인 되어있는 회원 정보를 가져와서 데이터베이스에 담아주어야하며 post 테이블과 외래키로서 연결되어야 합니다 (1:n 관계 이해가 필요)