DAY87 : TIL [모의면접]

안휘원·2021년 12월 10일
1

spartacodingclub

목록 보기
37/39

🖊 SUMMARY

질문

  • Request Param을 사용했는데 (required = false) 사용 이유?
    - Request Param을 특정 변수값을 가져오기 위해 사용한다. required = false가 없을 경우, 자동적으로 true로 적용되어 필수값을 요청하게 되는데 변수값이 지정되어 있지 않은 경우 Error가 발생하기 때문. 변수값이 없는 경우에도 오류가 발생하지 않도록 추가로 작성하였음.

  • Request Param과 Request Body 차이?
    - @RequestParam은 1개의 HTTP 요청 파라미터를 받기 위해서 사용한다. @RequestParam은 필수 여부가 true이기 때문에 기본적으로 반드시 해당 파라미터가 전송되어야 한다. 해당 파라미터가 전송되지 않으면 400 Error를 유발하게 된다. 그렇기 때문에 반드시 필요한 변수가 아니라면 required의 값을 false로 설정해둘 수 있으며 해당 Parameter를 사용하지 않고 요청을 보낼 경우에 default로 받을 값을 defaultValue 옵션을 통해 설정할 수도 있다.
    - @ReauestBody는 클라이언트가 전송하는 Json(application/json) 형태의 HTTP Body 내용을 Java Object로 변환시켜주는 역할을 한다. 그렇기 때문에 Body가 존재하지 않는 HTTP Get 메소드에 @RequestBody를 활용하려고 한다면 에러가 발생하게 된다. @RequestBody로 받는 데이터는 Spring에서 관리하는 MessageConverter들 중 하나인 MappingJackson2HttpMessageConverte를 통해 Java 객체로 변환된다.

    Spring은 메세지를 변환되는 과정에서 객체의 기본 생성자를 통해 객체를 생성하고, 내부적으로 Reflection을 사용해 값을 할당하므로 @RequestBody에는 값을 주입하기 위한 생성자나 Setter가 필요 없다.

@RequestBody@RequestParam
객체 생성가능불가능
각 변수별로 데이터 저장불가능가능

  • Spring, Spring boot, Spring mvc(model, view, controller가 뭔지) 차이점?
    - 추후 추가 예정

  • EC2 사용하려면 도커가 필요한지?
    - 놉

  • 서버리스가 뭔지? DAY50 : TIL [서버리스 프론트엔드] 보러가기
    - 관리해야 할 서버가 없고, 원하는 기능, 설정 값들만 맞춰주면 알아서 정적 웹 사이트 기능을 관리해주는 것



조언

  • 취업준비 시, 면접을 위해 이론 지식을 쌓는 것과 개발 실력을 더 올리기 위한 실전 경험(프로젝트) 중에 더 집중할 부분?
    - 프로젝트는 회사 들어가면 많이 한다. 개인 프로젝트를 늘리려 하기 보다, 기업에 입사하여 프로젝트를 진행하는 것이 추후 이직 시에도 더 좋음.

    즉, 물론 둘 다 중요하지만 지식과 이해도를 더 다져서 면접을 잘 봐야 한다.

  • 아키텍처 직접 그려보고 이해하기
  • 벨로그 좀 더 성실하게 쓰기
    - 머릿속에서 막연히 알고 있는 지식을 말로써 풀어내어 설명할 수 있어야 한다.
    • 데일리 회고를 통해 단어화 시키는 능력 기르기



💬 REFERENCE

MangKyu's Diary | [Spring] @RequestBody, @ModelAttribute, @RequestParam의 차이

profile
우당탕탕 개발자 성장일지

0개의 댓글