일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 처음 만나는 AI수학 with Python
- 스프링부트핵심가이드
- 선형대수
- d
- 자바편
- 데비안
- GIT
- 스프링 시큐리티
- 알파회계
- 서버설정
- 자료구조와 함께 배우는 알고리즘 입문
- /etc/network/interfaces
- 목록처리
- network configuration
- 코드로배우는스프링웹프로젝트
- 티스토리 쿠키 삭제
- resttemplate
- 코드로배우는스프링부트웹프로젝트
- 처음 만나는 AI 수학 with Python
- Kernighan의 C언어 프로그래밍
- iterator
- 이터레이터
- 리눅스
- 네트워크 설정
- 친절한SQL튜닝
- baeldung
- ㅒ
- 자료구조와함께배우는알고리즘입문
- 구멍가게코딩단
- 페이징
- Today
- Total
목록Projects (57)
bright jazz music
자바에서 기본 제공하는 예외 말고 좀 더 명확하게 의미를 전달하는 고유의 예외 클래스를 만들어서 사용한다. 컨트롤러는 바뀐 것이 없다. PostService.java에서 수정한다. //PostController.java ///... @Slf4j @RestController @RequiredArgsConstructor public class PostController { private final PostService postService; @PostMapping("/posts") public void post(@RequestBody @Valid PostCreate request) { postService.write(request); // return Map.of(); } //단건 조회 @GetMapping..
//PostController.java //... @Slf4j @RestController @RequiredArgsConstructor public class PostController { private final PostService postService; @PostMapping("/posts") public void post(@RequestBody @Valid PostCreate request) { postService.write(request); // return Map.of(); } //단건 조회 @GetMapping("/posts/{postId}") public PostResponse get(@PathVariable Long postId){ PostResponse response = postSe..
//PostService.java //PostEdit에서 검증하지 않는다면 아래와 같은 로직이 들어가야 한다. @Transactional public void edit(Long id, PostEdit postEdit){ Post post = postRepository.findById(id).orElseThrow(PostNotFound::new); post.edit( postEdit.getTitle() != null ? postEdit.getTitle() : post.getTitle(); postEdit.getContent() != null ? postEdit.getContent() : post.getContent()); } 이게 귀찮아서 PostEditor를 만들어 준 것이다. 2. PostService..
어차피 수정할 필드가 같으므로 Post.java를 사용할 수 있다. 그러나 다른 기능별로 나눠 주는 것이 좋다. 게시글을 수정하기 위해 사용할 클래스를 만들어준다. //PostEdit.java package com.endofma.blog.request; import lombok.Builder; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotBlank; @Getter @Builder public class PostEdit { @NotBlank(message = "타이틀을 입력하세요.") private String title; @NotBlank(message = "콘텐츠를 입력해 주세요.") private ..
PostController.java //PostController.java package com.endofma.blog.controller; //... @Slf4j @RestController @RequiredArgsConstructor public class PostController { private final PostService postService; @PostMapping("/posts") public void post(@RequestBody @Valid PostCreate request) { postService.write(request); // return Map.of(); } //단건 조회 @GetMapping("/posts/{postId}") public PostResponse get(@..
@PageableDafault를 컨트롤러에 달아 페이징 관련 파라미터를 받아서그걸 서비스에 넘긴 뒤에 JpaRepository를 사용해서 데이터를 가져오는 작업을 했다. 그렇지만 나만의 페이징 클래스를 만들어서, 그 안에서 검증을 거치고 서비스로 넘긴 뒤, 리포지토리에 QueryDSL를 하나 만들어 주고, QueryDSL로 페이징 처리를 하는 방법도 좋다. 따라서 여기서는 queryDsl을 사용해서 페이징 처리를 한다. /*build.gradle*/ plugins { id 'java' id 'org.springframework.boot' version '2.7.6' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'com.e..
페이징 처리 @PageableDafault를 컨트롤러에 달아 페이징 관련 파라미터를 받아서그걸 서비스에 넘긴 뒤에 JpaRepository를 사용해서 데이터를 가져오는 작업을 했다. ---------- //PostController.java package com.endofma.blog.controller; import com.endofma.blog.domain.Post; import com.endofma.blog.request.PostCreate; import com.endofma.blog.response.PostResponse; import com.endofma.blog.service.PostService; import lombok.RequiredArgsConstructor; import lombok...
//PostController.java @Slf4j @RestController @RequiredArgsConstructor public class PostController { private final PostService postService; @PostMapping("/posts") public void post(@RequestBody @Valid PostCreate request) { postService.write(request); // return Map.of(); } //단건 조회 @GetMapping("/posts/{postId}") public PostResponse get(@PathVariable Long postId){ PostResponse response = postService...
요청 클래스와 응답 클래스를 나눠야 할 일이 생겼다. 클라이언트로부터 요청이 있었기 때문이다. 요청: 타이틀을 10자로 끊어서 보내주세요. 이 요청은 사실 클라이언트 측에서 처리하는 것이 적합한 듯하다. 어쨌든 서버단에서 처리해 보기로 한다. 실제로는 PostResponse 클래스 먼저 작성하였지만 보기 쉽도록 아래와 같은 순서로 배치하였다. PostController => PostService => PostResponse => PostControllerTest => 결과 --- 가장 중요한 PostResponse 클래스부터 먼저 보자. 나중에 똑같은 내용으로 다시 등장하기는 한다. 1. PostResponse 클래스 생성 클라이언트의 요청에 부합하는 응답을 보내기 위해 생성한 클래스이다. //PostR..
1. PostController에 get 메소드 추가 //PostController.java package com.endofma.blog.controller; import com.endofma.blog.domain.Post; import com.endofma.blog.request.PostCreate; import com.endofma.blog.service.PostService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import ..