πŸ“‹ κ²Œμ‹œνŒ - μœ νš¨μ„± 검사, μ˜ˆμ™Έ 처리

jijiΒ·2023λ…„ 11μ›” 19일
0

Spring Boot Project 🌱

λͺ©λ‘ 보기
10/16
post-thumbnail

πŸ‘©πŸ»β€πŸ¦° μœ νš¨μ„± 검사 / μ˜ˆμ™Έ 처리

βœ” λͺ©ν‘œ

  • κ²Œμ‹œκΈ€ μž‘μ„±, μˆ˜μ • κΈ°λŠ₯
    • 제λͺ©κ³Ό λ‚΄μš©μ€ ν•„μˆ˜ 포함 βœ”
    • 제λͺ©κ³Ό λ‚΄μš©μ€ 곡백으둜만 μ΄λ£¨μ–΄μ§ˆ μˆ˜λŠ” μ—†λ‹€. βœ”
    • 제λͺ©μ€ 1κΈ€μž 이상 30κΈ€μž μ΄ν•˜ βœ”
    • λ‚΄μš©μ€ 1κΈ€μž 이상 1000κΈ€μž μ΄ν•˜ βœ”
  • νŠΉμ • κ²Œμ‹œκΈ€ 쑰회, μ‚­μ œ
    • id(PK, primary key)둜 쑰회 μ‹œ, μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” κ²Œμ‹œκΈ€μΌ 경우 μ—λŸ¬ λ©”μ‹œμ§€λ‘œ 응닡 βœ”
  • κ²Œμ‹œκΈ€ 검색 κΈ°λŠ₯
    • 검색 ν‚€μ›Œλ“œλŠ” 곡백을 μ œμ™Έν•œ 1κΈ€μž 이상이어야 ν•œλ‹€. βœ”

πŸ“Œ 배운점


πŸ‘©πŸ»β€πŸ’» 개발 κ³Όμ •

μœ νš¨μ„± 검사

1) PostRequestDTO

  @NotBlank(message = "제λͺ©μ„ μž…λ ₯ν•΄μ£Όμ„Έμš”")
  @Size(min = 1, max = 30, message = "제λͺ©μ€ 1κΈ€μž 이상 30κΈ€μž μ΄ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€")
  private String title;

2) SearchDTO

  @Size(min = 1, message = "검색 ν‚€μ›Œλ“œλŠ” 곡백을 μ œμ™Έν•œ 1κΈ€μž 이상이어야 ν•©λ‹ˆλ‹€.")
  private String keyword;

  public SearchDTO(String keyword) {
    this.keyword = keyword.trim();
  }

πŸ–πŸ» μ˜ˆμ™Έ 처리 - handler

@ControllerAdvice
public class GlobalExceptionHandler {

  @ExceptionHandler(NoSuchElementException.class)
  public ResponseEntity<String> handleNoSuchElementException(NoSuchElementException e) {
    return ResponseEntity.status(HttpStatus.NOT_FOUND).body("κ²Œμ‹œκΈ€μ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.");
  }
}

μœ νš¨μ„± 검사 μ˜ˆμ™Έμ²˜λ¦¬

  @ExceptionHandler(MethodArgumentNotValidException.class)
  public ResponseEntity<String> handleValidationExceptions(MethodArgumentNotValidException ex) {
    return ResponseEntity.badRequest().body("μœ νš¨μ„± 검사 μ‹€νŒ¨: " 
            + ex.getBindingResult()
            .getFieldError()
            .getDefaultMessage());
  }

0개의 λŒ“κΈ€