회원 관리
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
**로 조회 |