Projects39 [청하] 11. 게시글 삭제 기능 구현 (feat. NCP Object Storage 이미지 삭제) 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ ├── Image.java # 이미지 엔티티│ └── Post.java # 게시글 엔티티│├── repository/ # 데이터 접근 계층│ ├── ImageRepository.java # 이미지 레포지토리│ └── PostRepository.java # 게시글 레포지토리│├── controller/ # 컨트롤러 계층│ └── PostController.java # 게시글 관련 API 엔드포인트│└── service/ .. 2024. 10. 9. [청하] 10. 게시글 리스트 조회 기능 구현 (feat. 정적 팩토리 메서드) 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ ├── Image.java # 이미지 엔티티│ └── Post.java # 게시글 엔티티│├── repository/ # 데이터 접근 계층│ ├── ImageRepository.java # 이미지 레포지토리│ └── PostRepository.java # 게시글 레포지토리│├── dto/ # 데이터 전송 객체│ └── response/│ └── PostListResponseDto.java # 게시글 리스트 조회 응답.. 2024. 10. 8. [청하] 9. 게시글 createDate 포멧 변경 (feat. DateTimeFormatter) TimeFormatter 라는 유틸리티 클래스에서 게시글 생성시간에 대해 포맷팅 작업을 통해, 시간별로 다른 형식의 시간을 반환했다. Android 팀원의 요구사항으로 인해 "yyyy/MM/dd HH:mm:ss” 형식으로 반환하도록 수정하게 되었다. 이에 따라 클라이언트 측에서 시간 포맷팅 작업을 수행하기로 결정되었다. 1. TimeFormatter 유틸리티 수정기존 코드public class TimeFormatter { public static String timeFormat(LocalDateTime time) { LocalDateTime now = LocalDateTime.now(); Duration duration = Duration.between(time, now);.. 2024. 10. 8. [청하] 8. 게시글 상세조회 기능 구현 (feat. LocalDateTime) 게시글 등록 기능에 이어서 추가하는 기능은 “게시글 상세조회” 이다. 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ ├── Image.java # 이미지 엔티티│ └── Post.java # 게시글 엔티티│├── repository/ # 데이터 접근 계층│ ├── UserRepository.java # 사용자 레포지토리│ ├── ImageRepository.java # 이미지 레포지토리│ └── PostRepository.java # 게시글 레포지토리│├── dto/ .. 2024. 10. 7. [청하] 7. 게시글 등록 기능 - 인가 권한 설정 현재 사용자의 역할은 USER, ADMIN, GUEST로 구분된다. 게시글 관련 기획에서 “게시글 리스트 조회”는 모든 역할이 접근 가능하고, “게시글 등록”은 USER와 ADMIN 역할만 수행할 수 있도록 결정되었다. Sprnig Security 설정을 수정하여 인가 권한을 설정했다. 1. Security 설정 파일 수정@Configuration@EnableWebSecurity@RequiredArgsConstructorpublic class SecurityConfig { // ... (다른 필드 및 의존성 주입 생략) @Bean protected SecurityFilterChain securityFilterChain(final HttpSecurity httpSecurity) th.. 2024. 10. 7. [청하] 6. 게시글 등록 기능 - @ModelAttribute를 이용한 form-data 처리 개선 지난번에는 @RequestPart 를 사용하여 JSON 데이터와 파일 데이터를 분리하여 처리하도록 변경했었다. 이번에는 텍스트 데이터와 파일 데이터를 모두 multipart/form-data로 요청하는 것이 더 편할 것 같다는 Android 팀원의 의견에 따라 수정하기로 했다.그리고 파일 업로드도 선택적으로 할 수 있도록 파일 처리 로직을 수정하였다. 1. 컨트롤러 수정기존 코드@RestController@RequiredArgsConstructor@RequestMapping("/api/v1/posts")public class PostController { private final PostService postService; // 게시글 등록 @PostMapping("/register") .. 2024. 10. 7. [청하] 5. 게시글 등록 기능 - @RequestPart를 이용한 JSON 데이터와 파일 데이터 분리 AOS 팀원에게 게시글 등록 시 파일 데이터를 분리하여 요청할 수 있도록 변경해달라는 요청을 받았다.기존에는 모든 데이터를(텍스트와 파일 정보) JSON 형식으로 전송하고 있었는데, 텍스트 데이터는 JSON 형식을 유지하면서 파일 데이터는 별도의 part로 전송하도록 수정하였다. 1. DTO 수정기존 코드public record PostRegisterRequestDto( @NotBlank @JsonProperty("title") String title, @NotBlank @JsonProperty("content") String content, @NotNull @JsonProperty("type") ETopic type, @Nullable @JsonProp.. 2024. 10. 7. 이전 1 2 3 4 5 6 다음 반응형