본문 바로가기

분류 전체보기153

[청하] 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.
[청하] 4. 게시글 등록 기능 구현 (feat. NCP Object Storage 파일 업로드) 청하의 가장 첫 번째 기능으로 “게시글” 기능을 추가하였다.“게시글 등록”은 사용자가 제목, 내용, 게시글 유형을 입력하고, 이미지를 선택적으로 업로드할 수 있는 기능이다. 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ ├── Image.java # 이미지 엔티티│ └── Post.java # 게시글 엔티티│├── repository/ # 데이터 접근 계층│ ├── ImageRepository.java # 이미지 레포지토리│ └── PostRepository.java # 게시글 레포지토리│├── dto/ .. 2024. 10. 6.
[netplix-security-a] AuthenticationProvider 구현 Netplix 구독형 멤버십 프로젝트로 배우는 SpringSecurity[Ch 4. AuthenticationProvider와 인] - 01. AuthenticationProvider 살펴보기강의를 바탕으로 실습 내용을 정리하였습니다.목차 1. 인증 구현인증 논리를 담당하는 AuthenticationProvider 를 알아보자요청을 허용할 것인지 정할 수 있음 AuthenticationManager 는 HTTP 필터 계층에서 요청을 수신하고 이 책임을 AuthenticationProvider 에게 위임함 두 케이스로 정리할 수 있음사용자를 찾을 수 없음: 애플리케이션이 사용자를 인식하지 못해 권한 부여 프로세스에 위임하지 않고 요청을 거부함사용자를 찾을 수 있음: 사용자 정보가 저장되어 있기 때문에 애플.. 2024. 10. 3.
반응형