diff --git a/.github/workflows/checkstyle.yml b/.github/workflows/checkstyle.yml
new file mode 100644
index 00000000..5c26a408
--- /dev/null
+++ b/.github/workflows/checkstyle.yml
@@ -0,0 +1,76 @@
+name: Checkstyle
+
+on:
+ pull_request:
+ branches:
+ - main
+ - develop
+ push:
+ branches:
+ - main
+ - develop
+
+jobs:
+ checkstyle:
+ name: Code Style Check
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ token: ${{ secrets.SUBMODULE_TOKEN }}
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ - name: Cache Gradle packages
+ uses: actions/cache@v3
+ with:
+ path: |
+ ~/.gradle/caches
+ ~/.gradle/wrapper
+ key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
+ restore-keys: |
+ ${{ runner.os }}-gradle-
+
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
+
+ - name: Run Checkstyle
+ run: ./gradlew checkstyleMain --no-daemon
+
+ - name: Upload Checkstyle Report
+ if: failure()
+ uses: actions/upload-artifact@v4
+ with:
+ name: checkstyle-report
+ path: |
+ build/reports/checkstyle/main.html
+ build/reports/checkstyle/main.xml
+ retention-days: 7
+
+ - name: Comment PR with Checkstyle Results
+ if: github.event_name == 'pull_request' && failure()
+ uses: actions/github-script@v7
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const fs = require('fs');
+ const path = require('path');
+
+ let comment = '## ⚠️ Checkstyle 위반 사항 발견\n\n';
+ comment += 'Checkstyle 검사에서 코딩 컨벤션 위반이 발견되었습니다.\n\n';
+ comment += '### 📋 상세 리포트\n';
+ comment += '- [Main 소스 리포트 다운로드](../actions/runs/${{ github.run_id }})\n';
+
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: comment
+ });
diff --git a/build.gradle b/build.gradle
index c0521259..2bc37add 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,6 +2,7 @@ plugins {
id 'java'
id 'org.springframework.boot' version '3.5.8'
id 'io.spring.dependency-management' version '1.1.7'
+ id 'checkstyle'
}
group = 'gg.agit'
@@ -64,3 +65,23 @@ clean {
tasks.named('test') {
useJUnitPlatform()
}
+
+checkstyle {
+ toolVersion = '10.12.5'
+ configFile = file("${rootDir}/config/checkstyle/checkstyle.xml")
+ configProperties = ['suppressionFile': "${rootDir}/config/checkstyle/suppressions.xml"]
+ maxWarnings = 0
+ ignoreFailures = false
+}
+
+checkstyleMain {
+ source = 'src/main/java'
+}
+
+checkstyleTest {
+ source = 'src/test/java'
+}
+
+tasks.named('build') {
+ dependsOn 'checkstyleMain'
+}
diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml
new file mode 100644
index 00000000..9030a262
--- /dev/null
+++ b/config/checkstyle/checkstyle.xml
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml
new file mode 100644
index 00000000..5f822928
--- /dev/null
+++ b/config/checkstyle/suppressions.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/gg/agit/konect/domain/chat/dto/CreateChatRoomRequest.java b/src/main/java/gg/agit/konect/domain/chat/dto/CreateChatRoomRequest.java
index c751d2a0..4664eca5 100644
--- a/src/main/java/gg/agit/konect/domain/chat/dto/CreateChatRoomRequest.java
+++ b/src/main/java/gg/agit/konect/domain/chat/dto/CreateChatRoomRequest.java
@@ -11,4 +11,4 @@ public record CreateChatRoomRequest(
Integer clubId
) {
-}
\ No newline at end of file
+}
diff --git a/src/main/java/gg/agit/konect/domain/chat/model/ChatRoom.java b/src/main/java/gg/agit/konect/domain/chat/model/ChatRoom.java
index 8dfd6ba2..e89782c9 100644
--- a/src/main/java/gg/agit/konect/domain/chat/model/ChatRoom.java
+++ b/src/main/java/gg/agit/konect/domain/chat/model/ChatRoom.java
@@ -53,7 +53,7 @@ private ChatRoom(Integer id, User sender, User receiver) {
}
public static ChatRoom of(User sender, User receiver) {
- return ChatRoom.builder()
+ return ChatRoom.builder()
.sender(sender)
.receiver(receiver)
.build();
@@ -84,7 +84,7 @@ public LocalDateTime getLastMessageTime() {
}
public Integer getUnreadCount(Integer userId) {
- return (int) chatMessages.stream()
+ return (int)chatMessages.stream()
.filter(message -> message.getReceiver().getId().equals(userId))
.filter(message -> !message.getIsRead())
.count();
diff --git a/src/main/java/gg/agit/konect/domain/chat/repository/ChatMessageRepository.java b/src/main/java/gg/agit/konect/domain/chat/repository/ChatMessageRepository.java
index df864fb1..570b59c8 100644
--- a/src/main/java/gg/agit/konect/domain/chat/repository/ChatMessageRepository.java
+++ b/src/main/java/gg/agit/konect/domain/chat/repository/ChatMessageRepository.java
@@ -31,7 +31,10 @@ public interface ChatMessageRepository extends Repository
AND cm.receiver.id = :receiverId
AND cm.isRead = false
""")
- List findUnreadMessages(@Param("chatRoomId") Integer chatRoomId, @Param("receiverId") Integer receiverId);
+ List findUnreadMessages(
+ @Param("chatRoomId") Integer chatRoomId,
+ @Param("receiverId") Integer receiverId
+ );
@Modifying
@Query("""
diff --git a/src/main/java/gg/agit/konect/domain/club/model/ClubRecruitment.java b/src/main/java/gg/agit/konect/domain/club/model/ClubRecruitment.java
index 20672d94..66c1f61d 100644
--- a/src/main/java/gg/agit/konect/domain/club/model/ClubRecruitment.java
+++ b/src/main/java/gg/agit/konect/domain/club/model/ClubRecruitment.java
@@ -47,7 +47,14 @@ public class ClubRecruitment extends BaseEntity {
private Club club;
@Builder
- private ClubRecruitment(Integer id, LocalDate startDate, LocalDate endDate, String content, String imageUrl, Club club) {
+ private ClubRecruitment(
+ Integer id,
+ LocalDate startDate,
+ LocalDate endDate,
+ String content,
+ String imageUrl,
+ Club club
+ ) {
this.id = id;
this.startDate = startDate;
this.endDate = endDate;
diff --git a/src/main/java/gg/agit/konect/domain/club/repository/ClubQueryRepository.java b/src/main/java/gg/agit/konect/domain/club/repository/ClubQueryRepository.java
index dfd955f5..d62e1008 100644
--- a/src/main/java/gg/agit/konect/domain/club/repository/ClubQueryRepository.java
+++ b/src/main/java/gg/agit/konect/domain/club/repository/ClubQueryRepository.java
@@ -33,7 +33,9 @@ public class ClubQueryRepository {
private final JPAQueryFactory jpaQueryFactory;
- public Page findAllByFilter(PageRequest pageable, String query, Boolean isRecruiting, Integer universityId) {
+ public Page findAllByFilter(
+ PageRequest pageable, String query, Boolean isRecruiting, Integer universityId
+ ) {
BooleanBuilder filter = clubSearchFilter(query, isRecruiting, universityId);
OrderSpecifier> sort = clubSort(isRecruiting);
diff --git a/src/main/java/gg/agit/konect/domain/club/service/ClubService.java b/src/main/java/gg/agit/konect/domain/club/service/ClubService.java
index d608e28e..6bfe72a7 100644
--- a/src/main/java/gg/agit/konect/domain/club/service/ClubService.java
+++ b/src/main/java/gg/agit/konect/domain/club/service/ClubService.java
@@ -60,7 +60,9 @@ public class ClubService {
public ClubsResponse getClubs(Integer page, Integer limit, String query, Boolean isRecruiting, Integer userId) {
User user = userRepository.getById(userId);
PageRequest pageable = PageRequest.of(page - 1, limit);
- Page clubSummaryInfoPage = clubQueryRepository.findAllByFilter(pageable, query, isRecruiting, user.getUniversity().getId());
+ Page clubSummaryInfoPage = clubQueryRepository.findAllByFilter(
+ pageable, query, isRecruiting, user.getUniversity().getId()
+ );
return ClubsResponse.of(clubSummaryInfoPage);
}
diff --git a/src/main/java/gg/agit/konect/domain/council/dto/CouncilCreateRequest.java b/src/main/java/gg/agit/konect/domain/council/dto/CouncilCreateRequest.java
index 3f2f4c6a..b93f0776 100644
--- a/src/main/java/gg/agit/konect/domain/council/dto/CouncilCreateRequest.java
+++ b/src/main/java/gg/agit/konect/domain/council/dto/CouncilCreateRequest.java
@@ -40,7 +40,10 @@ public record CouncilCreateRequest(
String phoneNumber,
@NotEmpty(message = "총동아리연합회 이메일은 필수 입력입니다.")
- @Pattern(regexp = "^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])+[.][a-zA-Z]{2,3}$", message = "이메일 주소 양식을 확인해주세요")
+ @Pattern(
+ regexp = "^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])+[.][a-zA-Z]{2,3}$",
+ message = "이메일 주소 양식을 확인해주세요"
+ )
@Size(max = 255, message = "총동아리연합회 이메일은 최대 255자 입니다.")
@Schema(description = "총동아리연합회 이메일", example = "council@example.com", requiredMode = REQUIRED)
String email,
diff --git a/src/main/java/gg/agit/konect/domain/council/dto/CouncilUpdateRequest.java b/src/main/java/gg/agit/konect/domain/council/dto/CouncilUpdateRequest.java
index da5b7170..02f86e5e 100644
--- a/src/main/java/gg/agit/konect/domain/council/dto/CouncilUpdateRequest.java
+++ b/src/main/java/gg/agit/konect/domain/council/dto/CouncilUpdateRequest.java
@@ -38,7 +38,10 @@ public record CouncilUpdateRequest(
String phoneNumber,
@NotEmpty(message = "총동아리연합회 이메일은 필수 입력입니다.")
- @Pattern(regexp = "^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])+[.][a-zA-Z]{2,3}$", message = "이메일 주소 양식을 확인해주세요")
+ @Pattern(
+ regexp = "^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])+[.][a-zA-Z]{2,3}$",
+ message = "이메일 주소 양식을 확인해주세요"
+ )
@Size(max = 255, message = "총동아리연합회 이메일은 최대 255자 입니다.")
@Schema(description = "총동아리연합회 이메일", example = "council@example.com", requiredMode = REQUIRED)
String email,
diff --git a/src/main/java/gg/agit/konect/domain/notice/service/NoticeService.java b/src/main/java/gg/agit/konect/domain/notice/service/NoticeService.java
index f096f670..bb1c216a 100644
--- a/src/main/java/gg/agit/konect/domain/notice/service/NoticeService.java
+++ b/src/main/java/gg/agit/konect/domain/notice/service/NoticeService.java
@@ -43,7 +43,9 @@ public CouncilNoticesResponse getNotices(Integer page, Integer limit, Integer us
Council council = councilRepository.getByUniversity(user.getUniversity());
PageRequest pageable = PageRequest.of(page - 1, limit, Sort.by(Sort.Direction.DESC, "createdAt"));
Page councilNoticePage = councilNoticeRepository.findByCouncilId(council.getId(), pageable);
- Map councilNoticeReadMap = getCouncilNoticeReadMap(user.getId(), councilNoticePage.getContent());
+ Map councilNoticeReadMap = getCouncilNoticeReadMap(
+ user.getId(), councilNoticePage.getContent()
+ );
return CouncilNoticesResponse.from(councilNoticePage, councilNoticeReadMap);
}
diff --git a/src/main/java/gg/agit/konect/domain/schedule/controller/ScheduleApi.java b/src/main/java/gg/agit/konect/domain/schedule/controller/ScheduleApi.java
index 6d7f6ae8..baaef591 100644
--- a/src/main/java/gg/agit/konect/domain/schedule/controller/ScheduleApi.java
+++ b/src/main/java/gg/agit/konect/domain/schedule/controller/ScheduleApi.java
@@ -7,7 +7,6 @@
import gg.agit.konect.global.auth.annotation.UserId;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.servlet.http.HttpSession;
@Tag(name = "(Normal) Schedule: 일정", description = "일정 API")
public interface ScheduleApi {
diff --git a/src/main/java/gg/agit/konect/domain/schedule/controller/ScheduleController.java b/src/main/java/gg/agit/konect/domain/schedule/controller/ScheduleController.java
index d20c1abc..487ea737 100644
--- a/src/main/java/gg/agit/konect/domain/schedule/controller/ScheduleController.java
+++ b/src/main/java/gg/agit/konect/domain/schedule/controller/ScheduleController.java
@@ -7,7 +7,6 @@
import gg.agit.konect.domain.schedule.dto.SchedulesResponse;
import gg.agit.konect.domain.schedule.service.ScheduleService;
import gg.agit.konect.global.auth.annotation.UserId;
-import jakarta.servlet.http.HttpSession;
import lombok.RequiredArgsConstructor;
@RestController
diff --git a/src/main/java/gg/agit/konect/domain/schedule/dto/SchedulesResponse.java b/src/main/java/gg/agit/konect/domain/schedule/dto/SchedulesResponse.java
index f3c83c7d..261ac885 100644
--- a/src/main/java/gg/agit/konect/domain/schedule/dto/SchedulesResponse.java
+++ b/src/main/java/gg/agit/konect/domain/schedule/dto/SchedulesResponse.java
@@ -42,6 +42,7 @@ public static InnerScheduleResponse from(UniversitySchedule schedule) {
);
}
}
+
public static SchedulesResponse from(List universitySchedules) {
return new SchedulesResponse(
universitySchedules.stream()
diff --git a/src/main/java/gg/agit/konect/domain/user/dto/UserInfoResponse.java b/src/main/java/gg/agit/konect/domain/user/dto/UserInfoResponse.java
index 42e87516..37f95088 100644
--- a/src/main/java/gg/agit/konect/domain/user/dto/UserInfoResponse.java
+++ b/src/main/java/gg/agit/konect/domain/user/dto/UserInfoResponse.java
@@ -26,7 +26,7 @@ public record UserInfoResponse(
@Schema(description = "사용자 이메일", example = "2dh2@naver.com", requiredMode = REQUIRED)
String email,
- @Schema(description = "사용자 프로필 이미지 링크", example = "https://stage-static.koreatech.in/konect/User_02.png",requiredMode = REQUIRED)
+ @Schema(description = "사용자 프로필 이미지 링크", example = "https://stage-static.koreatech.in/konect/User_02.png", requiredMode = REQUIRED)
String imageUrl,
@Schema(description = "가입 동아리 개수", example = "1", requiredMode = REQUIRED)
diff --git a/src/main/java/gg/agit/konect/domain/user/dto/UserUpdateRequest.java b/src/main/java/gg/agit/konect/domain/user/dto/UserUpdateRequest.java
index 148e2eb8..1091cc70 100644
--- a/src/main/java/gg/agit/konect/domain/user/dto/UserUpdateRequest.java
+++ b/src/main/java/gg/agit/konect/domain/user/dto/UserUpdateRequest.java
@@ -1,6 +1,5 @@
package gg.agit.konect.domain.user.dto;
-
import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.NOT_REQUIRED;
import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
diff --git a/src/main/java/gg/agit/konect/domain/user/model/UnRegisteredUser.java b/src/main/java/gg/agit/konect/domain/user/model/UnRegisteredUser.java
index 31ad0a86..98c2681f 100644
--- a/src/main/java/gg/agit/konect/domain/user/model/UnRegisteredUser.java
+++ b/src/main/java/gg/agit/konect/domain/user/model/UnRegisteredUser.java
@@ -12,6 +12,7 @@
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
+import jakarta.persistence.UniqueConstraint;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
@@ -21,10 +22,7 @@
@Table(
name = "unregistered_user",
uniqueConstraints = {
- @jakarta.persistence.UniqueConstraint(
- name = "uq_unreg_email_provider",
- columnNames = {"email", "provider"}
- )
+ @UniqueConstraint(name = "uq_unreg_email_provider", columnNames = {"email", "provider"})
}
)
@NoArgsConstructor(access = PROTECTED)
diff --git a/src/main/java/gg/agit/konect/domain/user/model/User.java b/src/main/java/gg/agit/konect/domain/user/model/User.java
index f0c86e5e..608061c9 100644
--- a/src/main/java/gg/agit/konect/domain/user/model/User.java
+++ b/src/main/java/gg/agit/konect/domain/user/model/User.java
@@ -16,6 +16,7 @@
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
+import jakarta.persistence.UniqueConstraint;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
@@ -25,14 +26,8 @@
@Table(
name = "users",
uniqueConstraints = {
- @jakarta.persistence.UniqueConstraint(
- name = "uq_reg_email_provider",
- columnNames = {"email", "provider"}
- ),
- @jakarta.persistence.UniqueConstraint(
- name = "uq_user_university_student_number",
- columnNames = {"university_id", "student_number"}
- )
+ @UniqueConstraint(name = "uq_reg_email_provider", columnNames = {"email", "provider"}),
+ @UniqueConstraint(name = "uq_user_university_student_number", columnNames = {"university_id", "student_number"})
}
)
@NoArgsConstructor(access = PROTECTED)
diff --git a/src/main/java/gg/agit/konect/global/auth/handler/OAuth2LoginSuccessHandler.java b/src/main/java/gg/agit/konect/global/auth/handler/OAuth2LoginSuccessHandler.java
index d1515e64..fc5fb07d 100644
--- a/src/main/java/gg/agit/konect/global/auth/handler/OAuth2LoginSuccessHandler.java
+++ b/src/main/java/gg/agit/konect/global/auth/handler/OAuth2LoginSuccessHandler.java
@@ -28,7 +28,7 @@ public class OAuth2LoginSuccessHandler implements AuthenticationSuccessHandler {
@Value("${app.frontend.base-url}")
private String frontendBaseUrl;
- private final int TEMP_SESSION_EXPIRATION_SECONDS = 600;
+ private static final int TEMP_SESSION_EXPIRATION_SECONDS = 600;
private final UserRepository userRepository;
diff --git a/src/main/java/gg/agit/konect/global/auth/oauth/KakaoOAuthServiceImpl.java b/src/main/java/gg/agit/konect/global/auth/oauth/KakaoOAuthServiceImpl.java
index 472e5a68..d4015b8c 100644
--- a/src/main/java/gg/agit/konect/global/auth/oauth/KakaoOAuthServiceImpl.java
+++ b/src/main/java/gg/agit/konect/global/auth/oauth/KakaoOAuthServiceImpl.java
@@ -31,7 +31,7 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2Authentic
OAuth2User oAuth2User = super.loadUser(userRequest);
Map kakaoAccount = oAuth2User.getAttribute("kakao_account");
- String email = (String) kakaoAccount.get("email");
+ String email = (String)kakaoAccount.get("email");
String registrationId = userRequest.getClientRegistration().getRegistrationId().toUpperCase();
Provider provider = Provider.valueOf(registrationId);
diff --git a/src/main/java/gg/agit/konect/global/auth/oauth/NaverOAuthServiceImpl.java b/src/main/java/gg/agit/konect/global/auth/oauth/NaverOAuthServiceImpl.java
index 95f89c5a..94cb778b 100644
--- a/src/main/java/gg/agit/konect/global/auth/oauth/NaverOAuthServiceImpl.java
+++ b/src/main/java/gg/agit/konect/global/auth/oauth/NaverOAuthServiceImpl.java
@@ -31,7 +31,7 @@ public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2Authentic
OAuth2User oAuth2User = super.loadUser(userRequest);
Map response = oAuth2User.getAttribute("response");
- String email = (String) response.get("email");
+ String email = (String)response.get("email");
String registrationId = userRequest.getClientRegistration().getRegistrationId().toUpperCase();
Provider provider = Provider.valueOf(registrationId);
diff --git a/src/main/java/gg/agit/konect/global/config/RestTemplateConfig.java b/src/main/java/gg/agit/konect/global/config/RestTemplateConfig.java
index 7e798475..24812c4b 100644
--- a/src/main/java/gg/agit/konect/global/config/RestTemplateConfig.java
+++ b/src/main/java/gg/agit/konect/global/config/RestTemplateConfig.java
@@ -13,13 +13,16 @@
@Configuration
public class RestTemplateConfig {
+ private static final Integer CONNECT_TIMEOUT = 5000;
+ private static final Integer READ_TIMEOUT = 5000;
+
@Bean
public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
return restTemplateBuilder
.requestFactory(() -> {
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
- factory.setConnectTimeout(5000);
- factory.setReadTimeout(5000);
+ factory.setConnectTimeout(CONNECT_TIMEOUT);
+ factory.setReadTimeout(READ_TIMEOUT);
return new BufferingClientHttpRequestFactory(factory);
})
.additionalMessageConverters(new StringHttpMessageConverter(UTF_8))
diff --git a/src/main/java/gg/agit/konect/global/config/SecurityConfig.java b/src/main/java/gg/agit/konect/global/config/SecurityConfig.java
index ef51f5e1..eba23e3f 100644
--- a/src/main/java/gg/agit/konect/global/config/SecurityConfig.java
+++ b/src/main/java/gg/agit/konect/global/config/SecurityConfig.java
@@ -1,5 +1,7 @@
package gg.agit.konect.global.config;
+import static org.springframework.http.HttpStatus.UNAUTHORIZED;
+
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,7 +35,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
.authorizeHttpRequests(auth -> auth.anyRequest().permitAll())
.exceptionHandling(ex -> ex
.authenticationEntryPoint((request, response, authException) -> {
- response.sendError(401);
+ response.sendError(UNAUTHORIZED.value());
})
).oauth2Login(oauth2 -> oauth2
.userInfoEndpoint(userInfo -> userInfo
diff --git a/src/main/java/gg/agit/konect/global/config/WebConfig.java b/src/main/java/gg/agit/konect/global/config/WebConfig.java
index 2cf794cb..86dfa187 100644
--- a/src/main/java/gg/agit/konect/global/config/WebConfig.java
+++ b/src/main/java/gg/agit/konect/global/config/WebConfig.java
@@ -16,6 +16,8 @@
@RequiredArgsConstructor
public class WebConfig implements WebMvcConfigurer {
+ private static final Integer CORS_PREFLIGHT_MAX_AGE_SECONDS = 3600;
+
private final CorsProperties corsProperties;
private final LoginCheckInterceptor loginCheckInterceptor;
private final LoginUserArgumentResolver loginUserArgumentResolver;
@@ -27,7 +29,7 @@ public void addCorsMappings(CorsRegistry registry) {
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "PATCH")
.allowedHeaders("*")
.allowCredentials(true)
- .maxAge(3600);
+ .maxAge(CORS_PREFLIGHT_MAX_AGE_SECONDS);
}
@Override
diff --git a/src/main/java/gg/agit/konect/global/exception/GlobalExceptionHandler.java b/src/main/java/gg/agit/konect/global/exception/GlobalExceptionHandler.java
index ab6ee2ad..26377ff3 100644
--- a/src/main/java/gg/agit/konect/global/exception/GlobalExceptionHandler.java
+++ b/src/main/java/gg/agit/konect/global/exception/GlobalExceptionHandler.java
@@ -56,7 +56,7 @@ public ResponseEntity