[Spring Boot] TIL - 3 스프링부트의 기본 요소 2 (점프 투 스프링부트 2-06 ~ 2-11)

하이초·2022년 8월 25일

Spring_Boot

목록 보기
3/11
post-thumbnail

1. 템플릿

  • HTML!: controller에서 메소드를 string으로 하고 html 파일 이름을 return 하는 게 일반적인 걸까?!

  • @RequiredArgsConstructor: final이 붙은 속성을 포함하는 생성자를 자동으로 생성하는 역할

2. ROOT

http://localhost:8080 처럼 다른 서브?주소 없이 root에 해당하는 페이지

  • @RequestMapping("/")

  • redirect:<URL>: URL로 리다이렉트 (리다이렉트는 완전히 새로운 URL로 요청이 된다)

  • forward:<URL>: URL로 포워드 (포워드는 기존 요청 값들이 유지된 상태로 URL이 전환된다.)

  • redirect는 로그인 필요 페이지인데 로그인 하지 않았을 경우 로그인 페이지로 보내거나, 로그인 후 해당 페이지로 다시 보내 주거나 하는 경우에 많이 사용, forward는 클라이언트가 어떤 주소로 접속했을 때 사실 그 주소는 이제 더 사용하지 않고 다른 주소를 사용한다고 할 때 클라이언트가 재 접속하도록 하는 것이 아니라 서버가 바꿔주는 것.. 정도로 대충 이해!

3. 서비스

컨트롤러와 리포지터리의 중간자적 입장에서 엔티티 객체와 DTO 객체를 서로 변환하여 양방향에 전달

  • DTO(Data Transfer Object): 데이터베이스와 직접 맞닿아 있는 엔티티 클래스들은 컨트롤러에서 사용할 수 없게끔 하여 데이터베이스의 일관성을 유지하고, 이를 전달해주는 객체를 따로 만들어 두는 것
    - DTO 객체 변환: 서비스가 할 일!
  • @Service

  • Controller -> Service -> Repository 구조로 데이터를 처리

4. 질문 상세

  • @PathVariable: /question/detail/2의 숫자 2처럼 변하는 id 값을 얻을 때 사용하는 애너테이션

5. 답변 등록

  • @PostMapping: POST 요청만 받아 들일 경우 사용

기타

  1. 테스터 코드를 잘 짜야 한다!

오늘의 미결사항

  1. Model - MVC pattern에 대한 공부가 필요하다!

  2. controller return 값

    • 어떤 것을 return 하냐에 따라 천차 만별
    • restController, responseEntity 등 공부 필요!
profile
개발국대가 되는 그 날까지. 지금은 개발 응애.

0개의 댓글