본문 바로가기

Spring55

[TIL] 231211 Spring Security 관리자 페이지 만들기, Spring 댓글 페이지, 프로젝트 회고 관리자 페이지 만들기 이번 프로젝트에서 관리자 페이지를 만들어 보았다. 관리자 권한으로 로그인 할 경우, 게시물 수정, 삭제가 가능하다. 게시물(Post)의 Controller와 Service단을 Admin 패키지에도 만들어준다. adminController에서 관리자 권한으로 허용하는 페이지의 uri와 hasRole을 넣어 관리자가 관리 가능하게 만들어준다. 댓글 페이지 게시물 밑에 댓글이 같이 표시되게 구현하려고 했다. 게시물 전체보기 페이지의 경우 게시물만 표시되게 하고 개별로 게시물을 조회했을 땐 댓글이 조회 되도록 하고 싶어서 게시물만 있는 PostResponseDTO와 게시물과 댓글이 같이 나오는 PostCommentResponseDTO를 따로 만들었다. 게시물 전체보기 페이지는 전체 게시물을.. 2023. 12. 11.
[TIL] 231207Spring Web, WAS, Servlet, HttpServlertRequest Web 과 WAS Client가 요청한 것을 정적으로 처리할 수 있으면 Web가 정적 파일을 처리한다. 동적으로 처리해야 할 경우 WAS가 DB와 소통하여 처리한다. WebServer : 정적 컨텐츠 제공 (HTML문서, CSS, 이미지, 파일 등) WAS (Web Application Server): DB조회, 동적 컨텐츠 제공 WAS는 Java Servlet 컨테이너를 포함하고 있어서 Java 웹 애플리케이션(우리가 만드는 Spring 서버)을 실행한다. Servelt이란 웹 어플리케이션을 위한 JAVA 클래스 구조를 가진 자바 서버 프로그래임이다. HttpServlet, Servlet ServletRequest에는 파라미터, 헤더, 세션 등이 포함되어있다. 출처: https://velog.io/@j.. 2023. 12. 7.
[TIL] 231206Spring @RequestParam @RequestParam @GetMapping("/request-param") public ResponseEntity getPostByUser(@RequestParam ("user") String username){ List postResponseDtoList = new ArrayList(); postResponseDtoList = postService.getPostByUser(username); return ResponseEntity.ok().body(postResponseDtoList); } 프로젝트로 RequestParam 사용해봄>_ 2023. 12. 6.
[TIL] 231206Spring Optional, 쿠키, 세션 만들기, JWT Optional ‘null’일 수도 있는 객체를 감싸는 wrapper클래스 Optional FindByUserName의 경우 FindByUserName.get()으로 담긴 객체 반환 .isPresent로 null인지 값이 담겼는지 확인 가능 쿠키 만들기 AuthController public static void addCookie( String cookieValue, HttpServletResponse rep) cookie Valuer를 받아오기 url 인코더에 넣어서 공백 제거 후 New Cookie생성 (AUTHORIZATION_HEADER, cookeValue) Path, setMaxAge (만료기한) 등 넣기 이 정보를 HttpServlet에 담기: rep -> client에 반환 res.addC.. 2023. 12. 6.
[TIL] 231201Spring 통합테스트 Service Test 통합테스트 (Integration Test) 두개 이상의 모듈이나 클래스를 테스트 할 수 있다 모듈 간의 연결에서 발생하는 에러 검증 가능 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) // 서버의 PORT 를 랜덤으로 설정합니다. @TestInstance(TestInstance.Lifecycle.PER_CLASS) // 테스트 인스턴스의 생성 단위를 클래스로 변경합니다. @TestMethodOrder(MethodOrderer.OrderAnnotation.class) @SpringBootTest에너테이션으로 스프링 실행되게 함(unit test시에는 스프링 실행 안됨) class ProductServiceIntegr.. 2023. 12. 2.
[TIL] 231130Spring 단위테스트 Unit Tests 반복테스트 Assertions Given-When-Then JUnit5 - java 프로그래밍용 단위 테스트 프레임워크 @BeforeEach @AfterEach 각각의 테스트코드 전/후에 실행 @BeforeAll @AfterAll 모든 테스트코드 전/후 한번만 실행 @DisplayName 테스트 내용 표시 @Nested 테스트 내용/주제별로 묶어서 테스트 @Order 테스트 순서를 명시 사용 위해 @TestMethodOrder(MethodOrderer.OrderAnnotation.class) 애너테이션 추가하기 테스트 반복하기 @RepeatedTest (value = 5, name = "반복테스트") @RepeatedTest(value = 5, name = "반복 테스트 {currentRepetition} / {totalRepetitions}") void rep.. 2023. 11. 30.