일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 서버설정
- resttemplate
- 자료구조와 함께 배우는 알고리즘 입문
- 처음 만나는 AI 수학 with Python
- /etc/network/interfaces
- 이터레이터
- 데비안
- 목록처리
- 친절한SQL튜닝
- 선형대수
- 네트워크 설정
- 티스토리 쿠키 삭제
- ㅒ
- 자바편
- 알파회계
- 처음 만나는 AI수학 with Python
- 코드로배우는스프링부트웹프로젝트
- 리눅스
- GIT
- 구멍가게코딩단
- network configuration
- 자료구조와함께배우는알고리즘입문
- Kernighan의 C언어 프로그래밍
- d
- baeldung
- iterator
- 코드로배우는스프링웹프로젝트
- 스프링 시큐리티
- 스프링부트핵심가이드
- 페이징
- Today
- Total
목록Projects (57)
bright jazz music
1. PostsController와 연관된 코드 개선(test클래스, dto 등) ObjectMapper 사용 테스트 케이스의 코드 수정 (jackson을 사용하여 가독성 up) 뿐만 아니라 필드가 늘어남에 따라 값을 수정해야 할 때 실수 발생확률을 낮춘다. * PostCreate에 생성자, 게터가 있어야 한다. //PostController.java package com.endofma.blog.controller; import com.endofma.blog.request.PostCreate; import com.endofma.blog.service.PostService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; i..
포스트 저장을 위한 클래스 생성과 설정 service 패키지 생성: PostService.java 생성 repository 패키지 생성: PostRepository.java 인터페이스 생성( JPARepository 인터페이스 구현(여기서는 extends). JPARepository 인터페이스의 제네릭 파라미터로는 Post 엔티티와 Long형식의 PK 전달) domain 패키지 생성: Post 클래스 생성(@Entity 애노테이션 부착) 기본적인 흐름 Json 데이터 ==> PostController(PostCreate 타입으로 바인딩) ==> PostService(일반 클래스인 PostCreate타입을 엔티티로 변환) ==> PostRepository 호출해서 save //PostController.j..
요약: 테스트 코드 ==> PostController ==> 바인딩 에러 발생 ==> ExceptionController ==> 에러를 꺼내서 ErrorResponse 객체에 바인딩하여 json형식으로 클라이언트에게 반환. 예상된 값(여기서는 코드 또는 메시지가 반환되지 않으면 에러가 발생하는 문제가 있음) --- test2() 실행하여 json형식으로 PostController에 request //PostControllerTest.java package com.endofma.blog.controller; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.fa..
이전 포스팅처럼 에러를 처리한다면 아래와 같은 문제가 있다. /* * 1. 매번 메서드마다 검증해야함. 귀찮음. 실수 가능성+ * 2. 응답값을 HashMap으로 하지 말고 응답 클래스로 만든 것이 좋다. * 3. 여러 개의 에러처리가 힘들다. 여러 개의 응답을 보내줘야 한다면 에러마다 만들어줘야 한다... * 4. 반복작업을 피할 것 * * @ControllerAdvice를 사용하여 이런 문제를 개선해 보자 * : 클래스에 이 어노테이션을 달면 개별 컨트롤러가 아니라 모든 컨트롤러에 대한 에러를 캐치한다. */ ---------------------------------------------------------------- 전역적인 에러를 처리할 임의의 컨트롤러 생성(여기서는 ExceptionCont..
이 포스팅에서는 아래와 같은 내용을 다룬다. VO에 @NotBlank 어노테이션을 사용해서 에러를 발생시키고, 그걸 BindingResult에 담는다 BindingResult객체에 담긴 값들을 이용해서 클라이언트에게 에러를 반환시키는 실습이다. 과정 ---------------------------------------------------------------- VO필드에 @NotBlank 부착 => Controller의 핸들러 메소드의 파라미터에 @Valid 부착 ==> 파라미터에 BindingResult 추가 ==> @NotBlank 어노테이션 커스텀 ---------------------------------------------------------------- 1. 문제 상황 : 값이 비었는데..
//http method //GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD, TRACE, CONNECT 총 9개 데이터를 보내는 테스트를 해보자. MockMvc는 기본적으로 contentType을 application/json 형식으로 보낸다. contentType은 http request 메시지의 바디에 들어가는 데이터 형식을 헤더에 명시해주는 항목이다. 즉, 보내는 자원의 형식을 명시하기 위해 헤더에 실리는 정보 이다. 이 값은 표준 mime-type중의 하나이다 application/x-www-form-urlencoded 그러나 여기서는 우선 과거의 방식인 application/x-www-form-urlencoded로 보내보자. //PostControllerTest..
/*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.endofma' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-..