작성일: 2023.06.27(화)
KT AIVLE AI 개발자 트랙 3기 과정의 마지막인 빅프로젝트를 진행하고 있습니다.
내 역할, 협업 내용, 나머지는 팀원 담당
@RestController
@RequestMapping("/file")
@RequiredArgsConstructor
public class S3Controller {
private final S3UploadService s3UploadService;
@PostMapping("/upload")
public ResponseEntity<Object> uploadFiles(
@RequestParam(value = "fileType", defaultValue = "image") String fileType,
@RequestPart(value = "files") List<MultipartFile> multipartFiles) {
return ResponseEntity
.status(HttpStatus.OK)
.body(s3UploadService.uploadFiles(fileType, multipartFiles));
}
@DeleteMapping("/delete")
public ResponseEntity<Object> deleteFile(
@RequestBody S3DeleteDto s3DeleteDto) {
return ResponseEntity
.status(HttpStatus.OK)
.body(s3UploadService.deleteFile(s3DeleteDto.getUploadFilePath(), s3DeleteDto.getUploadFileName()));
}
}
postman에서 진행함
헤더에 'Content-Type: multipart/form-data' 있어야 함
바디에는 'form-data'로 파일들을 보내줘야 함
여러 파일들을 보내줄 수 있으며, 해당 프로젝트에서는 image 파일만 받는 걸로 설정함
@RestController
@RequiredArgsConstructor
@RequestMapping("/posts")
@Slf4j
public class PostController {
private final PostService postService;
// 중략
/**
* 게시글 페이징 조회
*/
@GetMapping("/postList")
public Page<PostsRespondDto> getPostList(@RequestParam("page") int page) {
Page<Post> posts = postService.getPostList(page,2);
log.info("전체 페이지 번호 : {}",posts.getTotalPages());
log.info("전체 데이터 수 : {}",posts.getTotalElements());
List<PostsRespondDto> result = posts.stream()
.map(p -> new PostsRespondDto(p))
.collect(Collectors.toList());
return new PageImpl<>(result);
}
/**
* 게시글 전체 페이지 번호와 전체 데이터 수
*/
@GetMapping("/pageNumber")
public PageNumberDto pageNumber() {
Page<Post> posts = postService.getPageList(2);
int totalPages = posts.getTotalPages();
long totalElements = posts.getTotalElements();
return new PageNumberDto(totalPages,totalElements);
}
}
조별 코칭 시간 때, 잘하고 있다는 피드백 외에 특별한 내용은 없었다. 이제 API는 90%이상 구현을 마쳤고, 자질구레한 것들만 남겨둔 상태이다.(회원탈퇴, 회원정보 수정 등)
가장 중요한 AI 파트는 담당 팀원들이 열심히 해준 덕에 잘 진행되고 있는 것으로 보인다. 이제 해당 모델이 실행되는 것을 Web과 연동하는 과정만 남은 상태인데, '실시간 카메라 영상'을 서비스 페이지에서 확인하는 기능, '모델의 탐지 내용'에 대한 로그를 서비스 페이지에 표시하는 기능 이 두 가지를 내일 다같이 모여서 끝낼 예정이다.