Skip to content

Commit 8b25c77

Browse files
committed
fix: 쿼리파라미터 NotBlank 검증 추가
1 parent 0eb252b commit 8b25c77

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/main/java/apptive/team5/global/GlobalExceptionHandler.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package apptive.team5.global;
22

33
import apptive.team5.global.exception.*;
4+
import jakarta.validation.ConstraintViolationException;
45
import org.springframework.http.HttpStatus;
56
import org.springframework.http.ResponseEntity;
67
import org.springframework.security.access.AccessDeniedException;
@@ -46,6 +47,13 @@ public ResponseEntity<Map<String,String>> handleMissingServletRequestParameterEx
4647
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(Map.of("message", e.getParameterName() + "는 필수값입니다."));
4748
}
4849

50+
@ExceptionHandler(ConstraintViolationException.class)
51+
public ResponseEntity<Map<String,String>> handleConstraintViolationException(ConstraintViolationException e) {
52+
53+
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(Map.of("message", e.getMessage()));
54+
}
55+
56+
4957
@ExceptionHandler(KakaoApiConnectException.class)
5058
public ResponseEntity<Map<String,Object>> handleKakaoApiConnectException(KakaoApiConnectException e) {
5159
return ResponseEntity.status(e.getHttpStatus()).body(Map.of("message", e.getMessage(), "details", e.getKakaoApiExceptionResponse()));

src/main/java/apptive/team5/youtube/controller/YoutubeApiController.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
import apptive.team5.youtube.dto.YoutubeSearchRequest;
44
import apptive.team5.youtube.dto.YoutubeVideoResponse;
55
import apptive.team5.youtube.service.YoutubeService;
6+
import jakarta.validation.Valid;
7+
import jakarta.validation.constraints.NotBlank;
68
import lombok.RequiredArgsConstructor;
79
import org.springframework.http.HttpStatus;
810
import org.springframework.http.ResponseEntity;
11+
import org.springframework.validation.annotation.Validated;
912
import org.springframework.web.bind.annotation.GetMapping;
1013
import org.springframework.web.bind.annotation.RequestMapping;
1114
import org.springframework.web.bind.annotation.RequestParam;
@@ -16,13 +19,14 @@
1619
@RestController
1720
@RequestMapping("/api/youtube")
1821
@RequiredArgsConstructor
22+
@Validated
1923
public class YoutubeApiController {
2024

2125
private final YoutubeService youtubeService;
2226

2327
@GetMapping
24-
public ResponseEntity<List<YoutubeVideoResponse>> searchVideo(@RequestParam String id, @RequestParam String artist,
25-
@RequestParam String title) {
28+
public ResponseEntity<List<YoutubeVideoResponse>> searchVideo(@NotBlank @RequestParam String id, @NotBlank @RequestParam String artist,
29+
@NotBlank @RequestParam String title) {
2630

2731
List<YoutubeVideoResponse> response = youtubeService.searchVideo(new YoutubeSearchRequest(id, artist, title));
2832

0 commit comments

Comments
 (0)