항해99 6기 DAY 42 TIL _ 22.04.17

2022. 4. 19. 06:25· 스파르타코딩클럽/항해99

내일 할 일

변수명 변경하기

리턴 값 실패 시 Bad Request 줘보기

소셜로그인 (카카오 로그인 다시 공부)

무한 스크롤 (백에서는 페이징처리만 해주고, 전체 게시글 개수랑 총 페이지 수만 보내주면 된다!)

 

PostLike model에 post를 ManyToOne으로 연결해놓고, Post가 지워질 때 그 게시글 안에 있는 좋아요의 개수도 함께 지우기 위해 cachecade type ALL 을 사용했다. 그런데, 좋아요를 한 번 누르고 한 번 더 눌렀을 때 원래 좋아요만 취소가 됐어야 하는데, 그 게시글 전체가 삭제가 돼서 cachecade 를 지우고 Post Delete에 로직을 추가하였다.

 

ResponseEntity 실험 중

 

TEST 1 (status set)

@PostMapping("/api/write") ​​​​public ResponseEntity<String> upload( ​​​​​​​​​​​​@RequestParam("postTitle") String postTitle, ​​​​​​​​​​​​@RequestParam("postContents") String postContents, ​​​​​​​​​​​​@RequestParam(value = "imageUrl") MultipartFile multipartFile, ​​​​​​​​​​​​@RequestParam("price") int price, ​​​​​​​​​​​​@RequestParam("category") String category, ​​​​​​​​​​​​@AuthenticationPrincipal UserDetailsImpl userDetails ​​​​) throws IOException ​​​​{ ​​​​​​​​String imageUrl = S3Uploader.upload(multipartFile, "static"); ​​​​​​​​PostRequestDto postRequestDto = new PostRequestDto(postTitle, postContents, imageUrl, price, category); // StatusMessage statusMessage = new StatusMessage(); ​​​​​​​​HttpHeaders httpHeaders = new HttpHeaders(); ​​​​​​​​httpHeaders.add("status","200"); ​​​​​​​​httpHeaders.setContentType(new MediaType("application", "json", Charset.forName("UTF-8"))); // statusMessage.setStatus(StatusMessage.StatusEnum.OK); // statusMessage.setData(null); ​​​​​​​​postService.createPost(postRequestDto, userDetails.getUser()); ​​​​​​​​return new ResponseEntity<>("status set", httpHeaders, HttpStatus.OK); }

 

결과

TEST2

​​​​@PostMapping("/api/write") ​​​​public ResponseEntity<String> upload( ​​​​​​​​​​​​@RequestParam("postTitle") String postTitle, ​​​​​​​​​​​​@RequestParam("postContents") String postContents, ​​​​​​​​​​​​@RequestParam(value = "imageUrl") MultipartFile multipartFile, ​​​​​​​​​​​​@RequestParam("price") int price, ​​​​​​​​​​​​@RequestParam("category") String category, ​​​​​​​​​​​​@AuthenticationPrincipal UserDetailsImpl userDetails ​​​​) throws IOException ​​​​{ ​​​​​​​​String imageUrl = S3Uploader.upload(multipartFile, "static"); ​​​​​​​​PostRequestDto postRequestDto = new PostRequestDto(postTitle, postContents, imageUrl, price, category); // StatusMessage statusMessage = new StatusMessage(); ​​​​​​​​HttpHeaders httpHeaders = new HttpHeaders(); ​​​​​​​​httpHeaders.add("status","200"); ​​​​​​​​httpHeaders.setContentType(new MediaType("application", "json", Charset.forName("UTF-8"))); // statusMessage.setStatus(StatusMessage.StatusEnum.OK); // statusMessage.setData(null); ​​​​​​​​postService.createPost(postRequestDto, userDetails.getUser()); ​​​​​​​​return new ResponseEntity<>("200", httpHeaders, HttpStatus.OK); }

 

결과

 

TEST 3

@PostMapping("/api/write") ​​​​public ResponseEntity<String> upload( ​​​​​​​​​​​​@RequestParam("postTitle") String postTitle, ​​​​​​​​​​​​@RequestParam("postContents") String postContents, ​​​​​​​​​​​​@RequestParam(value = "imageUrl") MultipartFile multipartFile, ​​​​​​​​​​​​@RequestParam("price") int price, ​​​​​​​​​​​​@RequestParam("category") String category, ​​​​​​​​​​​​@AuthenticationPrincipal UserDetailsImpl userDetails ​​​​) throws IOException ​​​​{ ​​​​​​​​String imageUrl = S3Uploader.upload(multipartFile, "static"); ​​​​​​​​PostRequestDto postRequestDto = new PostRequestDto(postTitle, postContents, imageUrl, price, category); // StatusMessage statusMessage = new StatusMessage(); // HttpHeaders httpHeaders = new HttpHeaders(); // httpHeaders.add("status","200"); // httpHeaders.setContentType(new MediaType("application", "json", Charset.forName("UTF-8"))); // statusMessage.setStatus(StatusMessage.StatusEnum.OK); // statusMessage.setData(null); ​​​​​​​​postService.createPost(postRequestDto, userDetails.getUser()); ​​​​​​​​return ResponseEntity.status(201) ​​​​​​​​​​​​​​​​.header("status","201") ​​​​​​​​​​​​​​​​.body("status set"); }

 

결과

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: B9R4BME59K8CR165; S3 Extended Request ID: YL9Xlm5IcsLbpCElU3MqyL3gDhN5i09tqCNw3mgFCapSLQID9vCHAcxKeyjf8oHaPfjq8lsl7JA=)

오류 메세지

 

'스파르타코딩클럽 > 항해99' 카테고리의 다른 글

항해99 6기 WIL_7주차 회고록  (0) 2022.05.01
항해99 6기 DAY 48 TIL _ 22.04.23  (0) 2022.04.23
항해99 6기 DAY 38 TIL _ 22.04.13, DAY 39 TIL _ 22.04.14, WIL_6주차 회고록  (0) 2022.04.17
항해99 6기 DAY 35, 36 TIL _ 22.04.11, 22.04.12  (0) 2022.04.13
항해99 6기 WIL_5주차 회고록  (0) 2022.04.10
'스파르타코딩클럽/항해99' 카테고리의 다른 글
  • 항해99 6기 WIL_7주차 회고록
  • 항해99 6기 DAY 48 TIL _ 22.04.23
  • 항해99 6기 DAY 38 TIL _ 22.04.13, DAY 39 TIL _ 22.04.14, WIL_6주차 회고록
  • 항해99 6기 DAY 35, 36 TIL _ 22.04.11, 22.04.12
예령 : )
예령 : )
개발 공부를 하며 기록하고 있는 일기장입니다. 꾸준히 기록할 예정이니 많은 관심 부탁드립니다! :)
예령 : )
예령's 개발기록
예령 : )
전체
오늘
어제
  • 분류 전체보기 (98)
    • Github (2)
    • Java (1)
    • Spring & SpringBoot (10)
    • Server (8)
      • docker (6)
    • 개발 (6)
      • 자료구조 (2)
    • 스파르타코딩클럽 (66)
      • 웹개발의 봄, Spring (1)
      • 프로그래머스_Java_알고리즘 기초 (18)
      • 항해99 (39)
    • TIL (4)
    • Tech Conference (1)
    • AWS (0)

인기 글

최근 글

hELLO · Designed By 정상우.v4.2.0
예령 : )
항해99 6기 DAY 42 TIL _ 22.04.17
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.