springboot (13) 썸네일형 리스트형 [14] mutsa-SNS 7일차 - 코드 리펙토링 팀 프로젝트의 조원분들의 피어리뷰를 토대로 코드 리펙토링을 해 보았다. @ApiIgnore annotation 추가 (Swagger 관련) Swagger Authorize button 추가 UserDto.build()의 중복 사용 개선 PostServiceTest code 개선 1. @Apilgnore @RestController @RequestMapping("/api/v1/posts") @RequiredArgsConstructor public class PostController { private final PostService postService; @PostMapping public Response createPost(@RequestBody PostCreateRequest req, @ApiIgnor.. [13] mutsa-SNS 6일차 - (2) Admin 권한 부여 기능 추가 생각보다 test code의 작성이 빨리 끝나 도전과제인 admin 권한 부여에 도전해 보았다. ADMIN 회원으로 등급업하는 기능 초기 ADMIN 회원은 하나가 존재하고 ADMIN 회원은 일반회원의 권한을 ADMIN으로 승격시킬 수 있다. ADMIN 회원이 로그인 시 자신이 쓴 글이 아닌 글에 대해 수정, 삭제 가능 밑의 두가지 기능은 이미 진행하였기 때문에, USER 회원을 ADMIN으로 등급업 하는 기능을 추가하였다. 등급업이 가능한 유저는 ADMIN 유저이다. 1. Configuration SecurityConfig @EnableWebSecurity @Configuration @RequiredArgsConstructor //WebSecurityConfigurerAdapter 는 이후 SpringB.. [12] mutsa-SNS 6일차 - (1) Post 삭제, 수정 Test Code 추가 post 삭제와 수정에 대한 테스트 코드를 추가하였다. 두 method의 로직이 비슷하여 테스트 코드가 거의 비슷하여 비교적 편했다... 1. PostControllerTest @WebMvcTest(PostController.class) class PostControllerTest { @Autowired MockMvc mockMvc; @MockBean PostService postService; @Autowired ObjectMapper objectMapper; ... @Test @DisplayName("post 수정 성공") @WithMockUser void post_modify_success() throws Exception { PostModifyRequest postModifyRequest = Po.. [11] mutsa-SNS 5일차 - (2) Post 삭제, 수정 기능 추가 Post의 삭제와 수정 기능을 추가하였다. 해당 기능은 아래의 조건을 충족했을 때만 가능하다. JWT token을 갖고 있는 자 (로그인 한 유저) UserRole = ADMIN인 경우 모든 글에 대하여 삭제와 수정 가능 UserRole = USER인 경우 자신의 글에 대하여 삭제와 수정 가능 1. Configuration SecurityConfig @EnableWebSecurity @Configuration @RequiredArgsConstructor //WebSecurityConfigurerAdapter 는 이후 SpringBoot에서 잘 안쓰게 됨 public class SecurityConfig { ... @Bean public SecurityFilterChain securityFilterChai.. [10] mutsa-SNS 5일차 - (1) Post 조회 기능 TestCode 추가 post 조회 기능에 대한 testCode를 추가하였다. postController와 postService에 대하여 testCode를 추가하였다. 1. PostControllerTest @WebMvcTest(PostController.class) class PostControllerTest { @Autowired MockMvc mockMvc; @MockBean PostService postService; @Autowired ObjectMapper objectMapper; //포스트 상세 테스트 @Test @DisplayName("1번글 조회 성공") @WithMockUser void post_detail_success() throws Exception { PostDto postDto = PostDto.b.. 이전 1 2 다음