스파르타코딩클럽/항해99
항해99 6기 DAY 42 TIL _ 22.04.17
예령 : )
2022. 4. 19. 06:25
내일 할 일
변수명 변경하기
리턴 값 실패 시 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=)
오류 메세지