Member
@Entity
@Getter
@Builder
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
public class Member extends Timestamped implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
Service
public ResponseEntity<String> findOverlapUsername(String username) {
Member member = memberRepository.findByUsername(username).orElse(new Member());
if (username.equals(member.getUsername())) {
return new ResponseEntity<>(ResponseMessage.READ_FIND_USERNAME, HttpStatus.valueOf(StatusCode.OK));
}
return new ResponseEntity<>(HttpStatus.valueOf(StatusCode.OK));
}
에러 화면
- 에러의 경우 MemberRepository에서 Member를 찾지 못했을 경우 생성자를 생성하는 것이었지만 @NoArgsConstructor(access = AccessLevel.PROTECTED)로 최고 레벨의 보안을 적어두었기에 생성자가 생기는 것을 방지할 수 있다.
'Spring' 카테고리의 다른 글
Spring Boot MySQL 연결하기 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) (0) | 2024.04.20 |
---|---|
레이스 컨디션이란? (0) | 2024.04.18 |
Spring Security Request method 'GET' not supported 에러 (0) | 2023.01.27 |
Spring boot Mysql 삽질 (0) | 2023.01.18 |
Spring boot Mysql dbeaver연동 삽질 (0) | 2023.01.17 |