Skip to content

Commit

Permalink
merge: enum valid ์ˆ˜์ • #136
Browse files Browse the repository at this point in the history
[FIX] enum valid ์ˆ˜์ • #136
  • Loading branch information
sjk4618 authored Jan 22, 2025
2 parents 1356f7d + 25b68ef commit 1f61b0a
Show file tree
Hide file tree
Showing 12 changed files with 39 additions and 85 deletions.
4 changes: 4 additions & 0 deletions cakey-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-security'

//๋กœ๊น…
// implementation group: "ch.qos.logback", name:"logback-classic", version:"1.4.7"
// implementation 'org.slf4j:slf4j-api:1.7.36'

implementation 'org.springframework.cloud:spring-cloud-starter-openfeign:4.1.0' //feign

implementation group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5' //jwt ์˜์กด์„ฑ
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import com.cakey.common.response.BaseResponse;
import com.cakey.rescode.SuccessCode;
import com.cakey.store.domain.Station;
import com.cakey.validate.EnumValue;
import jakarta.validation.constraints.Min;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
Expand All @@ -26,7 +25,7 @@ public class CakeController {
@GetMapping("/station/latest")
public ResponseEntity<BaseResponse<?>> getLatestCakesByStationStore(
@UserId final Long userId,
@RequestParam(value = "station", required = true) @EnumValue(enumClass = Station.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” station์ž…๋‹ˆ๋‹ค.") final Station station,
@RequestParam(value = "station", required = true) final Station station,
@RequestParam(value = "cakeIdCursor", required = false) final Long cakeIdCursor,
@RequestParam(value = "size", defaultValue = "10", required = false) final int size
) {
Expand All @@ -38,7 +37,7 @@ public ResponseEntity<BaseResponse<?>> getLatestCakesByStationStore(
@GetMapping("/station/popularity")
public ResponseEntity<BaseResponse<?>> getPopularCakesByStationStore(
@UserId final Long userId,
@RequestParam(value = "station", required = true) @EnumValue(enumClass = Station.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” station์ž…๋‹ˆ๋‹ค.") final Station station,
@RequestParam(value = "station", required = true) final Station station,
@RequestParam(value = "cakeLikesCursor", required = false) final Integer cakeLikesCursor,
@RequestParam(value = "cakeIdCursor", required = false) final Long cakeIdCursor,
@RequestParam(value = "size", defaultValue = "10", required = false) final int size
Expand All @@ -62,8 +61,8 @@ public ResponseEntity<BaseResponse<?>> getRankCakesByStationStore(
public ResponseEntity<BaseResponse<?>> getCakeSelect(
@UserId final Long userId,
@PathVariable(value = "cakeId") @Min(1) final long cakeId,
@RequestParam(value = "dayCategory") @EnumValue(enumClass = DayCategory.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” DayCategory์ž…๋‹ˆ๋‹ค.") final DayCategory dayCategory,
@RequestParam(value = "themeName") @EnumValue(enumClass = ThemeName.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” ThemeName์ž…๋‹ˆ๋‹ค.") final ThemeName themeName
@RequestParam(value = "dayCategory") final DayCategory dayCategory,
@RequestParam(value = "themeName") final ThemeName themeName
) {
return ApiResponseUtil.success(
SuccessCode.OK,
Expand All @@ -75,8 +74,8 @@ public ResponseEntity<BaseResponse<?>> getCakeSelect(
@GetMapping("/latest")
public ResponseEntity<BaseResponse<?>> getLatestCakes(
@UserId final Long userId,
@RequestParam(value = "dayCategory") @EnumValue(enumClass = DayCategory.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” DayCategory์ž…๋‹ˆ๋‹ค.") final DayCategory dayCategory,
@RequestParam(value = "themeName") @EnumValue(enumClass = ThemeName.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” ThemeName์ž…๋‹ˆ๋‹ค.") final ThemeName themeName,
@RequestParam(value = "dayCategory") final DayCategory dayCategory,
@RequestParam(value = "themeName") final ThemeName themeName,
@RequestParam(value = "cakeIdCursor", required = false) final Long cakeIdCursor,
@RequestParam(value = "size", required = false, defaultValue = "10") final int size
) {
Expand All @@ -90,8 +89,8 @@ public ResponseEntity<BaseResponse<?>> getLatestCakes(
@GetMapping("/popularity")
public ResponseEntity<BaseResponse<?>> getPopularCakes(
@UserId final Long userId,
@RequestParam(value = "dayCategory") @EnumValue(enumClass = DayCategory.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” DayCategory์ž…๋‹ˆ๋‹ค.") final DayCategory dayCategory,
@RequestParam(value = "themeName") @EnumValue(enumClass = ThemeName.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” ThemeName์ž…๋‹ˆ๋‹ค.") final ThemeName themeName,
@RequestParam(value = "dayCategory") final DayCategory dayCategory,
@RequestParam(value = "themeName") final ThemeName themeName,
@RequestParam(value = "cakeIdCursor", required = false) final Long cakeIdCursor,
@RequestParam(value = "cakeLikesCursor", required = false) final Integer cakeLikesCursor,
@RequestParam(value = "size", required = false, defaultValue = "10") final int size
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
import jakarta.validation.constraints.Min;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

@RestController
@Validated
@RequiredArgsConstructor
@RequestMapping("/api/v1/cake/likes")
public class CakeLikesController {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ protected void doFilterInternal(
final Long userId = jwtProvider.getUserIdFromSubject(token);
SecurityContextHolder.getContext().setAuthentication(new UserAuthentication(userId, null, null));
} catch (Exception e) {
throw new UserBadRequestException(ErrorBaseCode.UNAUTHORIZED);
}
filterChain.doFilter(request, response);
}
Expand All @@ -80,6 +81,6 @@ private String getAccessTokenFromCookie(final HttpServletRequest request) throws
}
}
}
throw new UserBadRequestException(ErrorBaseCode.BAD_REQUEST_REQUEST_BODY_VALID);
throw new UserBadRequestException(ErrorBaseCode.UNAUTHORIZED);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,13 @@ public ResponseEntity<BaseResponse<?>> handleInvocationTargetException(final Inv
*/
@ExceptionHandler(Exception.class)
public ResponseEntity<BaseResponse<?>> handleAllExceptions(final Exception e) {
log.error("e.getMessage() + e.getCause().getMessage()");
if (e.getCause() == null) {
log.error(e.getMessage());
} else {
log.error("------------------------------------------------------------------------------------------");
log.error(e.getMessage() + "\n" + e.getCause().getMessage());
log.error("------------------------------------------------------------------------------------------");
}
return ApiResponseUtil.failure(ErrorBaseCode.INTERNAL_SERVER_ERROR, e.getMessage());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@
import com.cakey.store.domain.Station;
import com.cakey.store.dto.StoreCoordinateListRes;
import com.cakey.store.service.StoreService;
import com.cakey.validate.EnumValue;
import jakarta.validation.constraints.Min;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

@RestController
@Validated
@RequiredArgsConstructor
@RequestMapping("/api/v1/store")
public class StoreController {
Expand All @@ -24,7 +25,7 @@ public class StoreController {
//์Šคํ† ์–ด ์ขŒํ‘œ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
@GetMapping("/coordinate-list")
public ResponseEntity<BaseResponse<?>> getStoreCoordinateList(
@RequestParam(value = "station", required = true) @EnumValue(enumClass = Station.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” station์ž…๋‹ˆ๋‹ค.") final Station station
@RequestParam(value = "station", required = true) final Station station
) {
return ApiResponseUtil.success(
SuccessCode.OK,
Expand All @@ -35,7 +36,7 @@ public ResponseEntity<BaseResponse<?>> getStoreCoordinateList(
@GetMapping("/popularity")
public ResponseEntity<BaseResponse<?>> getStoreInfoListByStationAndLikes(
@UserId final Long userId,
@RequestParam(value = "station", required = true) @EnumValue(enumClass = Station.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” Station์ž…๋‹ˆ๋‹ค.")final Station station,
@RequestParam(value = "station", required = true) final Station station,
@RequestParam(value = "likesCursor", required = false) final Integer likesCursor,
@RequestParam(value = "storeIdCursor", required = false) final Long storeIdCursor,
@RequestParam(value = "size", defaultValue = "10", required = false) final int size
Expand All @@ -54,7 +55,7 @@ public ResponseEntity<BaseResponse<?>> getStoreInfoListByStationAndLikes(
@GetMapping("/latest")
public ResponseEntity<BaseResponse<?>> getStoreInfoListByStationAndLatest(
@UserId final Long userId,
@RequestParam(value = "station", required = true) @EnumValue(enumClass = Station.class, message = "์œ ํšจํ•˜์ง€ ์•Š๋Š” Station์ž…๋‹ˆ๋‹ค.")final Station station,
@RequestParam(value = "station", required = true) final Station station,
@RequestParam(value = "storeIdCursor", required = false) final Long storeIdCursor,
@RequestParam(value = "size", defaultValue = "10", required = false) final int size
) {
Expand Down Expand Up @@ -121,7 +122,7 @@ public ResponseEntity<BaseResponse<?>> getStoreSelectedCoordinate(
//์„ ํƒ ์Šคํ† ์–ด ์กฐํšŒ
@GetMapping("/select/{storeId}")
public ResponseEntity<BaseResponse<?>> getStoreSelected(
@UserId @Min(value = 1, message = "userId๋Š” 1์ด์ƒ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.")final Long userId,
@UserId final Long userId,
@PathVariable @Min(value = 1, message = "storeId๋Š” 1์ด์ƒ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.")final long storeId) {
return ApiResponseUtil.success(
SuccessCode.OK,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ public class UserController {
//๋กœ๊ทธ์ธ
@PostMapping("/login")
public ResponseEntity<BaseResponse<?>> login(
@RequestHeader(value = "Authorization") @NotBlank(message = "authorization์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.") final String authorization,
@RequestBody @Valid final LoginReq loginReq,
@RequestHeader(value = "Authorization") final String authorization,
@RequestBody final LoginReq loginReq,
HttpServletResponse response
) {
final LoginSuccessRes loginSuccessRes = userService.login(authorization, loginReq.socialType(), loginReq.redirectUri(), response);
Expand Down
27 changes: 0 additions & 27 deletions cakey-api/src/main/java/com/cakey/validate/EnumValue.java

This file was deleted.

This file was deleted.

2 changes: 1 addition & 1 deletion cakey-api/src/main/resources/logback-spring.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
</appender>
<root level="ERROR">
<root level="DEBUG">
<appender-ref ref="DEVROLLFILE"/>
</root>
</springProfile>
Expand Down
4 changes: 2 additions & 2 deletions cakey-auth/src/main/java/com/cakey/client/dto/LoginReq.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import jakarta.validation.constraints.NotBlank;

public record LoginReq(
@NotBlank(message = "SocialType์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.") SocialType socialType,
@NotBlank(message = "redirectUri๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.") String redirectUri
SocialType socialType,
String redirectUri
) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@ public enum Station {
YEONSINNAE("์—ฐ์‹ ๋‚ด์—ญ", "YEONSINNAE", 37.619001, 126.921008),
EWHA("์ด๋Œ€์—ญ", "EWHA", 37.556733, 126.946013),
JUNGGOK("์ค‘๊ณก์—ญ", "JUNGGOK", 37.565923, 127.084350),
HANSEONGBAEKJE("ํ•œ์„ฑ๋ฐฑ์ œ์—ญ", "HANSEONGBAEKJE", 37.516078, 127.115655)
HANSEONGBAEKJE("ํ•œ์„ฑ๋ฐฑ์ œ์—ญ", "HANSEONGBAEKJE", 37.516078, 127.115655),



HONGDAE("ํ™๋Œ€์ž…๊ตฌ์—ญ", "HONGDAE", 37.526402, 126.864342)
;


Expand Down

0 comments on commit 1f61b0a

Please sign in to comment.