[Thymeleaf] th:object, th:field 사용법
·
Server/Spring&Spring Boot
타임리프를 사용하기 위해, 여러 블로그들을 찾다 보면 th:object로 DTO에 값을 전달해 주는 코드를 많이 보게 되었다. 무작정 th:object에 PostMapping에서 @ModelAttribute에 name으로 지정된 값을 작성하면 빨간 줄이 뜨면서 에러가 발생하였다. th:object는 어떻게 사용할 수 있을까? Controller Controller에서 해당 View를 받아오는 @GetMapping이 된 웹서버에 th:object로 사용할 객체를 생성하여 Model로 저장해 주어야 th:object를 사용할 수 있다. @GetMapping("/writeForm") public String writeForm( @SessionAttribute(name = "loginUser", required..
[Junit] MultipartFile과 DTO가 있는 컨트롤러 테스트
·
Server/Spring&Spring Boot
기획상 게시물에 이미지를 업로드를 해야 하므로, S3를 구축하고 @RequestPart를 사용해서 이미지를 받아올 수 있게 Controller를 수정했다. Controller를 수정하고 난 뒤, 테스트 코드를 돌려봤더니 400 에러가 발생하고 있었다. 기존 Test code @Test @DisplayName("추천글 작성") void success_post_recommend_test() throws Exception { RecommendPostRequest request = new RecommendPostRequest("제목", "내용", "유튜브", 100L, 1L); RecommendPostResponse response = new RecommendPostResponse(1L, "제목", 100L);..
[03] 포스트 단건 상세 정보 보기 만들기
·
프로젝트/Archive
체크 사항 회원, 비회원이 모두 볼 수 있다. 글의 제목, 내용, 글쓴이, 작성 날짜, 마지막 수정 날짜까지 표시한다. Dto PostReadResponse @AllArgsConstructor @NoArgsConstructor @Getter @Builder public class PostReadResponse { private Integer id; private String title; private String body; private String userName; private LocalDateTime createdAt; private LocalDateTime lastModifiedAt; } id, title, body, userName, createdAt, lastModifiedAt의 정보를 받아오..
[01] 회원가입 기능 만들기 - 1
·
프로젝트/Archive
회원가입에 필요한 DTO와 Layered Architecture 방식에 맞는 설계를 진행하겠습니다. DTO JoinRequest 만들기 @AllArgsConstructor @NoArgsConstructor @Getter public class UserJoinRequest { private String userName; private String password; public User toEntity(String password) { return User.builder() .userName(this.userName) .password(password) .userRole(USER) .build(); } } Request 정보를 Entity로 만들어서 DB에 저장해야하므로 toEntity() 메서드를 작성하였..
코드플리
'dto' 태그의 글 목록