· 오늘 공부한 것
기술면접 2개
이미지 업로드 구현완료
· 공부한 내용, 궁금한 내용, 부족한 내용
- HTTP 메서드에 대해 설명해 주세요.
- 기타 메서드 : HEAD OPTIONS CONNECT TRACE
- 주요 메서드 : GET POST PUT PATCH DELETE
- GET 메서드는 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다.
- HEAD 메서드는 GET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.
- POST 메서드는 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.
- PUT 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.
- DELETE 메서드는 특정 리소스를 삭제합니다.
- CONNECT 메서드는 목적 리소스로 식별되는 서버로의 터널을 맺습니다.
- OPTIONS 메서드는 목적 리소스의 통신을 설정하는 데 쓰입니다.
- TRACE 메서드는 목적 리소스의 경로를 따라 메시지 loop-back 테스트를 합니다.PATCH 메서드는 리소스의 부분만을 수정하는 데 쓰입니다.
- CORS(Cross Origin Resource Sharing)에 대해 설명해 주세요.
- SOP CORS 필요 이유 CORS 정의
- 출처가 다른 자원들을 공유한다는 뜻으로, 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념입니다. 직역하면, 교차되는 출처 자원들의 공유입니다. 다른 출처에 있는 자원을 요청한다고 하면, 이를 교차 출처 요청이라고 부릅니다.
- 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")로 받고 있다. 그리고 이미지도 같은 어노테이션으로 받았다.
포스트맨에서 보낼 때 image는 Text가 아닌 File로 지정해서 진행했고 1개의 이미지만 업로드 가능하다는 전제로 구현을 진행하였다. DB에 작성한 모집글이 잘 들어가는 것까지 확인을 완료했다. 하지만 아직 구현이 완벽하게 된 게 아니다. s3에 업로드를 해야 하고 이미지 확장자도 제한을 걸어야 한다. 예외처리도 해야 하고 테스트코드도 작성해봐야 한다.
· 오늘 서칭 한 자료
https://escapefromcoding.tistory.com/724
https://developer.mozilla.org/ko/docs/Web/HTTP/Methods
· 느낀 점
- 하나씩 알아가는 과정은 좋았지만 진행이 느리다고 생각해서 코드를 빠르게 진행해야 할 거 같다.
- 진행이 느린 이유가 새로운 정보를 익히는 시간도 필요하고 이것을 응용해서 코드에 적용해야 하니 힘든 거 같다.
반응형
'Today I Learned' 카테고리의 다른 글
2024-01-12 TIL 기술면접, 최종프로젝트(6) (0) | 2024.01.12 |
---|---|
2024-01-11 TIL 기술면접, 최종프로젝트(5) (0) | 2024.01.11 |
2024-01-09 TIL 최종프로젝트(3) (0) | 2024.01.10 |
2024-01-08 TIL 기술면접, 최종프로젝트(2) (0) | 2024.01.08 |
2024-01-05 TIL 기술면접, 최종프로젝트(1) (0) | 2024.01.05 |