· 오늘 공부한 것

기술면접 2개

이미지 업로드 구현완료

 

· 공부한 내용, 궁금한 내용, 부족한 내용

  1. HTTP 메서드에 대해 설명해 주세요.
    • 기타 메서드 : HEAD OPTIONS CONNECT TRACE
    • 주요 메서드 : GET POST PUT PATCH DELETE
      • GET 메서드는 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다.
      • HEAD 메서드는 GET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.
      • POST 메서드는 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.
      • PUT 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.
      • DELETE 메서드는 특정 리소스를 삭제합니다.
      • CONNECT 메서드는 목적 리소스로 식별되는 서버로의 터널을 맺습니다.
      • OPTIONS 메서드는 목적 리소스의 통신을 설정하는 데 쓰입니다.
      • TRACE 메서드는 목적 리소스의 경로를 따라 메시지 loop-back 테스트를 합니다.PATCH 메서드는 리소스의 부분만을 수정하는 데 쓰입니다.
  2. CORS(Cross Origin Resource Sharing)에 대해 설명해 주세요.
    • SOP CORS 필요 이유 CORS 정의
      • 출처가 다른 자원들을 공유한다는 뜻으로, 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념입니다. 직역하면, 교차되는 출처 자원들의 공유입니다. 다른 출처에 있는 자원을 요청한다고 하면, 이를 교차 출처 요청이라고 부릅니다.

어제 해결하지 못한 이미지 업로드를 완성했다. 일단 서버에 이미지파일을 저장하는 방식으로 진행했고 내일 s3로 업로드하는 방식으로 리팩터링 할 예정이다. 해결한 방법은 모집글 작성 시 request와 image파일 2개를 동시에 받아야 했기 때문에 @RequestPart를 사용하였다.

 

Controller

    @PostMapping
    public RestResponse<PostCreateRes> createPost(
            @RequestPart("request") PostCreateReq postCreateReq,
            @RequestPart(name = "image", required = false) MultipartFile image)
            throws IOException { // 인증된 유저 정보 추가
        return RestResponse.success(postService.createPost(postCreateReq, image));
    }

기존에 raw에서 보내서 @RequestBody로 받은 것을 @RequestPart("request")로 받고 있다. 그리고 이미지도 같은 어노테이션으로 받았다.

 

Postman에서 이미지파일을 보내는 형식이다.

포스트맨에서 보낼 때 image는 Text가 아닌 File로 지정해서 진행했고 1개의 이미지만 업로드 가능하다는 전제로 구현을 진행하였다. DB에 작성한 모집글이 잘 들어가는 것까지 확인을 완료했다. 하지만 아직 구현이 완벽하게 된 게 아니다. s3에 업로드를 해야 하고 이미지 확장자도 제한을 걸어야 한다. 예외처리도 해야 하고 테스트코드도 작성해봐야 한다.

 

 

· 오늘 서칭 한 자료

https://escapefromcoding.tistory.com/724

 

CORS란 무엇인가?

개요 웹 프로그래밍에서 프런트와 백엔드 작업을 하면, 한번씩 발생하는 문제가 CORS 문제입니다. 현재 하는 업무가 이런 경우는 없었지만, 개인 프로젝트 시 발생했던 문제를 기억하며 해당 문

escapefromcoding.tistory.com

 

https://developer.mozilla.org/ko/docs/Web/HTTP/Methods

 

HTTP 요청 메서드 - HTTP | MDN

HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. 간혹 요청 메서드를 "HTTP 동사"라고 부르기도 합니다. 각각의 메서드는 서로 다른 의미를 구현하지만, 일부

developer.mozilla.org

https://whyeskang.com/258

 

Postman을 이용한 File, Dto 동시 Post요청

보통 Controller에서 Dto를 받을 때는 @RequestBody를 주로 사용합니다. 그리고 File을 받을 때는 MultipartFile 객체를 사용하며, @RequestParam을 사용합니다. 하지만 File과 Dto를 같이 받기 위해서는 @RequestPart라

whyeskang.com

 

 

· 느낀 점

- 하나씩 알아가는 과정은 좋았지만 진행이 느리다고 생각해서 코드를 빠르게 진행해야 할 거 같다.

- 진행이 느린 이유가 새로운 정보를 익히는 시간도 필요하고 이것을 응용해서 코드에 적용해야 하니 힘든 거 같다.

반응형

+ Recent posts