728x90
https://josteady.tistory.com/683
해당 포스팅에 이어 게시판관련 프로젝트를 만들면서 알게된점과 사용한 코드에 관해 정리하려고 한다.
아직 유효성검증 관련해서 궁금하고 미흡한 부분이 많아, 게시판(post) 관련해서 간단하게 작성했다.
@Getter
@Setter
@NoArgsConstructor
public class CreatePostDto {
@NotBlank(message = "제목은 필수 값입니다.")
private String title;
@NotBlank(message = "내용은 필수 값입니다.")
private String content;
제목과 내용 둘다 값이 비어있지 않아야 한다 라는것을 검증하고 싶었다.
해당 클래스에 검증부분을 기입했다면 Controller 부분에 @Valid를 추가해준다.
/* 게시글 작성 */
@PostMapping("/posts")
public void create(@RequestBody @Valid CreatePostDto createPostDto) {
postService.create(createPostDto);
}
테스트 진행을 해본다
@Test
@DisplayName("@NotBlank 게시글제목 테스트")
void validCreatePostDtoTest() throws Exception {
CreatePostDto createPostDto = CreatePostDto.builder()
.title("")
.content("내용")
.build();
mockMvc.perform(post("/posts")
.contentType(APPLICATION_JSON)
.content(objectMapper.writeValueAsString(createPostDto)))
.andExpect(status().isBadRequest())
.andDo(print());
}
제목이 없으므로, BadRequest가 나온다.
포트스맨 테스트
728x90
'Spring > Spring-detail' 카테고리의 다른 글
DispatchServlet(디스패처 서블릿) 에 대해 알아보자. (0) | 2022.10.14 |
---|---|
@Controller 와 @RestController 의 원리 (1) | 2022.10.13 |
Swagger 적용하기 - REST API 명세를 문서화 하는 방법 (1) | 2022.10.08 |
Integer 와 int 차이 (0) | 2022.10.05 |
@Builder 빌더패턴 (0) | 2022.10.01 |
댓글