2023.04.26

Jay Ji·2023년 4월 26일
0

I write TIL I close my Eyes

목록 보기
19/28
post-thumbnail

Problem

1주차 프로젝트를 완성하고 2주차 프로젝트까지 완성하였지만, 여전히 Spring Framework를 이해하기가 어려웠다.

What I tried

Spring Framework, JPA, java를 공부하기 위해 1주차 프로젝트의 코드리뷰를 one by one 진행하였다.

What I learned

코드리뷰를 진행하며 공부한 내용을 아래와 같이 적어본다:

RequestPara & PathVariable

URI (Uniform Resource Identifier) - 통합 자원 식별자 / Resource란 URI로 식별이 가능한 모든 종류의 자원 (웹 브라우저 파일 및 그 이외의 리소스 포함)을 지칭. URI는 즉, 자원 자체를 식별하는 고유한 문자열 sequence

  • @RequestParam과 @PathVariable은 http의 비연결성을 극복하고 데이터를 전달하기 위한 annotation 중 하나로, uri를 통해 전달된 값을 파라미터로 받아오는 역할

  • http://localhost:8000/board?page=1&listSize=10 (@RequestParam)

  • http://localhost:8000/board/1 (@PathVariable)

  • @PathVariable - {변수}와 동일한 이름을 갖는 파라미터 (예시 - PutMapping이나 DeleteMapping의 경우 "/api/baords/{id}"에서 {id}와 매칭시키기 위함)

@RequestBody & ResponseBody

비동기통신을 하기위해서는 client에서 서버로 요청 msg 보낼 때, 본문에 데이터를 담아서 보내고 / 서버에서 client로 응답 보낼 때도 vice-versa. 본문 = Body

@RequestBody - 요청본문 (해당 annotation이 붙은 파라미터에는 http요청의 본문이 그대로 전달된다) - 즉, input 값이 그대로 전달됨
@ResponseBody - 응답본문 (해당 annotation이 붙은 파라미터에는 자바객체를 http요청의 바디내용으로 매핑하여 클라이언트로 전송한다

RequestDto

BoardRequestDto는 사용자(client)가 input한 데이터를 넣어두는 컨테이너라고 생각된다. DTO는 Data Transfer Object로 즉 데이터를 옮긴다. 즉, RequestDto는 user input을 transfer 하기 위해 존재이다.

과정
Presentation Layer -> (user input) -> BoardRequestDto -> (transferring) -> create or update Board Entity

profile
Think out of the Box

0개의 댓글