회원 관리

URL Method Request Parameter 응답 모델 설명
/auth/login GET - 로그인 폼 렌더링
Spring Security
/auth/signup GET - 회원가입 폼 렌더링
/auth/sighup POST authCreateForm(AuthCreateForm)
bindingResult(BindingResult) 회원가입 요청
/auth/mypage GET user: 사용자 정보 (Auth)
solvedProblems: 전체 문제 풀이 리스트 (List<UserProblemSolving>)
pagedSolvedProblems: 페이지네이션된 문제 풀이 목록 user: 사용자 정보 (Auth)
solvedProblems: 전체 문제 풀이 리스트 (List<UserProblemSolving>)
pagedSolvedProblems: 페이지네이션된 문제 풀이 목록 로그인된 사용자의 정보 및 문제 풀이 목록 조회

문제 관리

URL Method Request Parameter 응답 모델 설명
/ GET page (int optional, default = 0)
: 페이징된 페이지 번호 user: 사용자 정보 (Auth)
paging: 페이지네이션된 문제 목록
allProblem: 전체 문제 리스트
userRank: 사용자 랭킹
solvedProblems: 문제 풀이 이력
problemIdToStatus: 문제 ID별 풀이 상태 전체 문제 리스트 및 유저 풀이 상태와
랭킹 정보를 메인 페이지에 출력
페이지네이션
/problem/{problemId} GET problemId (PathVariable)
Principal user: 사용자 정보
problem: 문제 객체
returnType: 반환 타입
paramTypes: 파라미터 타입 리스트
paramNames: 파라미터 이름 리스트
examplePairs: 입출력 예제 문제 설명, 예시 입출력, 파라미터 타입/이름, 반환 타입을 불러서 렌더링

CodeMirror CodeEditor <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.2/codemirror.min.js"> </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.2/mode/clike/clike.min.js"> </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.2/addon/edit/closebrackets.min.js"> </script> | | /submit/code | POST | code (String) problemId (Integer) className (String , optional, default=Solution) Principal | String (텍스트: 테스트 결과, 점수 포함) | 사용자가 제출한 코드를 저장 → 컴파일 → Judge.java 로 실행 → 출력 비교 → 성공 시 점수 및 컴파일 횟수 증가 | | /find_problem | GET | searchTitle (String) page (int, optional) | JSON: 문제 목록, 유저 풀이 상태, 페이지 정보 | 검색어를 기준으로 문제 목록을 **AJAX**로 조회 |