전체 글
-
BDDMokito.given return nullBackEnd/스프링 2022. 7. 29. 16:31
Controller 에서는 BoardRequest 를 받고, 서비스는 Board 를 받아 Mocking 할 때 특정 Board 를 생성해 given 인자로 사용하면 항상 null이 반환된다. 테스트 코드에서 들어가는 request 와 서비스 Mocking 에 인자는 다른 객체이기 때문에 any 로 타입명시를 해줘 해결했다. given(boardService.save(any(Board.class) )).willReturn(board); String body = objectMapper.writeValueAsString(boardRequest); mockMvc.perform(post("/api/boards") .content(body) .contentType(MediaType.APPLICATION_JSON))..
-
-
API Long 반환 > RestDocs > requestFields ClassCastException카테고리 없음 2022. 7. 29. 11:39
API 에서 save 처리 후 Long 타입 ID 만 반환하게 했더니 restdoc 테스트에서 계속 Class Cast 에러가 발생했다. Long 대신 객체를 반환하는 것으로 변경 ava.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.util.List (java.lang.Integer and java.util.List are in module java.base of loader 'bootstrap') https://lannstark.tistory.com/10 Spring REST DOCS를 Spring Boot에 적용하기 (2) 본 포스팅에서는 Spring Boot에 적용된 Spring REST Docs를 보다 ..
-
@AuthenticationPrincipal nullBackEnd/스프링 2022. 7. 28. 19:59
CustomService 에서 반환하는 Class 인 User 클래스로 @AuthenticationPrincipal 어노테이션에 들어온다는 정보가 많은데, 그것은 스프링 기본인 AbstractUserDetailAuthenticationProvider 를 사용하면 UserDetailService 에서 반환한 객체를 principal 로 세팅하기 때문이고, 나는 Provider 를 직접 생성했고 principal 에 username (이메일) 정보만 꺼내서 넣었기 때문에 String 으로 값이 들어온다. @AuthenticationPrincipal 필드 타입을 잘못 지정하면 null 이 들어온다. //AbstractUserDetailAuthenticationProvider.class public Authen..
-
-
-
@Value 는 객체 bean 등록 필수, static 키워드 사용 xBackEnd/스프링 2022. 7. 23. 23:50
1. @Value 는 Bean 등록 후 property 에서 값을 주입해주므로 @Value 를 사용하는 객체를 @Bean, @Component 로 등록해야한다. 2. FileUtil 을 생성하면서 업로드나 경로를 얻는 것을 어디서든 편하게 사용하려고 static 메서드로만 채우면서 @Value 로 설정한 fileUploadPath 필드를 static 메서드에서 사용하기 위해 static 변수로 선언했는데, property 에서 읽은 값이 들어오지 않았다. 아래와 같은 글을 발견하고 static 을 전부 삭제하니 정상적으로 동작한다. https://stackoverflow.com/questions/28636060/spring-value-often-null Spring @Value("${}") often n..