전체 글156 [청하] 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. [Spring] @RequiredArgsConstructor와 @Autowired Spring 프레임워크에서 의존성 주입(Dependency Injection)을 위해 다양한 어노테이션을 사용한다. 그 중 @RequiredArgsConstructor와 @Autowired는 자주 사용되는 어노테이션이다. 이 두 어노테이션의 역할, 사용법, 그리고 선택 기준을 정리해보았다. @RequiredArgsConstructor의 역할@RequiredArgsConstructor는 Lombok 라이브러리에서 제공하는 어노테이션이다. 수행하는 작업: 1. final로 선언된 필드나 @NonNull 어노테이션이 붙은 필드에 대한 생성자를 자동으로 생성한다. 2. 생성자 기반 의존성 주입을 쉽게 구현할 수 있게 해준다. 3. 코드를 간결하게 만들어준다. 예시@Service@RequiredArgsConstr.. 2024. 10. 3. [netplix-security-a] AOP를 활용하여 비밀번호 암호화하기 Netplix 구독형 멤버십 프로젝트로 배우는 SpringSecurity[Ch 4. PasswordEncoder] - 04. AOP를 활용하여 비밀번호 암호화하기강의를 바탕으로 실습 내용을 정리하였습니다.목차 1. 아래 암호화 요구사항은 어떻게 해결할 수 있을까?요구사항API 를 호출하는 클라이언트는 평문으로 비밀번호를 입력함보안을 위해 서버는 비밀번호를 암호화하여 관리함암호화 알고리즘은 수시로 변경될 수 있음 2. 암호화를 하려면 어떻게 해야 할까?HelloRequestBody 로 평문 비밀번호를 입력 받은 다음 직접 암호화 로직을 실행시킴단점: 암호화가 필요한 시점에 매번 로직을 수행해야 한다는 점HelloControllerpackage fast.campus.fcss01.controller;impor.. 2024. 10. 3. 이전 1 ··· 6 7 8 9 10 11 12 ··· 26 다음 반응형