[{"title":"( 68 个子文件 253KB ) qmr-api:使用SpringBoot的QMR RESTful API-源码","children":[{"title":"qmr-api-master","children":[{"title":"qmr-app-client","children":[{"title":"public","children":[{"title":"manifest.json <span style='color:#111;'> 317B </span>","children":null,"spread":false},{"title":"index.html <span style='color:#111;'> 1.55KB </span>","children":null,"spread":false},{"title":"favicon.ico <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false}],"spread":true},{"title":"config-overrides.js <span style='color:#111;'> 516B </span>","children":null,"spread":false},{"title":"yarn.lock <span style='color:#111;'> 245.11KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"constants","children":[{"title":"index.js <span style='color:#111;'> 552B </span>","children":null,"spread":false}],"spread":true},{"title":"common","children":[{"title":"AppHeader.js <span style='color:#111;'> 4.03KB </span>","children":null,"spread":false},{"title":"LoadingIndicator.js <span style='color:#111;'> 322B </span>","children":null,"spread":false},{"title":"AppHeader.css <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false}],"spread":true},{"title":"logo.svg <span style='color:#111;'> 2.61KB </span>","children":null,"spread":false},{"title":"index.css <span style='color:#111;'> 251B </span>","children":null,"spread":false},{"title":"images","children":[{"title":"logo.png <span style='color:#111;'> 3.14KB </span>","children":null,"spread":false}],"spread":true},{"title":"util","children":[{"title":"APIUtils.js <span style='color:#111;'> 3.07KB </span>","children":null,"spread":false}],"spread":true},{"title":"user","children":[{"title":"signup","children":[{"title":"Signup.css <span style='color:#111;'> 404B </span>","children":null,"spread":false},{"title":"Signup.js <span style='color:#111;'> 10.63KB </span>","children":null,"spread":false}],"spread":true},{"title":"login","children":[{"title":"Login.css <span style='color:#111;'> 145B </span>","children":null,"spread":false},{"title":"Login.js <span style='color:#111;'> 3.33KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"home","children":[{"title":"HomeContainer.js <span style='color:#111;'> 384B </span>","children":null,"spread":false}],"spread":true},{"title":"registerServiceWorker.js <span style='color:#111;'> 4.28KB </span>","children":null,"spread":false},{"title":"app","children":[{"title":"App.js <span style='color:#111;'> 2.82KB </span>","children":null,"spread":false},{"title":"App.test.js <span style='color:#111;'> 248B </span>","children":null,"spread":false},{"title":"App.css <span style='color:#111;'> 417B </span>","children":null,"spread":false}],"spread":false},{"title":"index.js <span style='color:#111;'> 361B </span>","children":null,"spread":false}],"spread":false},{"title":"README.md <span style='color:#111;'> 116.65KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 285B </span>","children":null,"spread":false},{"title":"package-lock.json <span style='color:#111;'> 419.49KB </span>","children":null,"spread":false},{"title":"package.json <span style='color:#111;'> 557B </span>","children":null,"spread":false}],"spread":true},{"title":"README.md <span style='color:#111;'> 255B </span>","children":null,"spread":false},{"title":"qmr-app-server","children":[{"title":"mvnw.cmd <span style='color:#111;'> 4.88KB </span>","children":null,"spread":false},{"title":"mvnw <span style='color:#111;'> 6.32KB </span>","children":null,"spread":false},{"title":"src","children":[{"title":"test","children":[{"title":"java","children":[{"title":"ufcg","children":[{"title":"daca","children":[{"title":"QmrApiApplicationTests.java <span style='color:#111;'> 326B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"resources","children":[{"title":"application.properties <span style='color:#111;'> 196B </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"ufcg","children":[{"title":"daca","children":[{"title":"credentials","children":[{"title":"RoleRepository.java <span style='color:#111;'> 239B </span>","children":null,"spread":false},{"title":"Role.java <span style='color:#111;'> 558B </span>","children":null,"spread":false},{"title":"CredentialRepository.java <span style='color:#111;'> 553B </span>","children":null,"spread":false},{"title":"Credential.java <span style='color:#111;'> 1.75KB </span>","children":null,"spread":false},{"title":"RoleName.java <span style='color:#111;'> 81B </span>","children":null,"spread":false}],"spread":true},{"title":"exceptions","children":[{"title":"AppException.java <span style='color:#111;'> 412B </span>","children":null,"spread":false},{"title":"BadRequestException.java <span style='color:#111;'> 424B </span>","children":null,"spread":false},{"title":"ResourceNotFoundException.java <span style='color:#111;'> 870B </span>","children":null,"spread":false}],"spread":false},{"title":"controllers","children":[{"title":"AuthController.java <span style='color:#111;'> 3.84KB </span>","children":null,"spread":false}],"spread":false},{"title":"questions","children":[{"title":"QuestionController.java <span style='color:#111;'> 1.30KB </span>","children":null,"spread":false},{"title":"QuestionService.java <span style='color:#111;'> 1.22KB </span>","children":null,"spread":false},{"title":"QuestionFactory.java <span style='color:#111;'> 767B </span>","children":null,"spread":false},{"title":"Category.java <span style='color:#111;'> 101B </span>","children":null,"spread":false},{"title":"Question.java <span style='color:#111;'> 1.45KB </span>","children":null,"spread":false},{"title":"QuestionRepository.java <span style='color:#111;'> 172B </span>","children":null,"spread":false}],"spread":false},{"title":"payload","children":[{"title":"JwtAuthenticationResponse.java <span style='color:#111;'> 582B </span>","children":null,"spread":false},{"title":"LoginRequest.java <span style='color:#111;'> 547B </span>","children":null,"spread":false},{"title":"ApiResponse.java <span style='color:#111;'> 541B </span>","children":null,"spread":false},{"title":"SignUpRequest.java <span style='color:#111;'> 815B </span>","children":null,"spread":false}],"spread":false},{"title":"config","children":[{"title":"SecurityConfig.java <span style='color:#111;'> 3.77KB </span>","children":null,"spread":false},{"title":"WebMvcConfig.java <span style='color:#111;'> 421B </span>","children":null,"spread":false}],"spread":false},{"title":"answers","children":[{"title":"Answer.java <span style='color:#111;'> 295B </span>","children":null,"spread":false}],"spread":false},{"title":"security","children":[{"title":"JwtTokenProvider.java <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"JwtAuthenticationEntryPoint.java <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false},{"title":"CustomUserDetailsService.java <span style='color:#111;'> 1.36KB </span>","children":null,"spread":false},{"title":"JwtAuthenticationFilter.java <span style='color:#111;'> 2.36KB </span>","children":null,"spread":false},{"title":"CurrentUser.java <span style='color:#111;'> 297B </span>","children":null,"spread":false},{"title":"UserPrincipal.java <span style='color:#111;'> 2.42KB </span>","children":null,"spread":false}],"spread":false},{"title":"QmrApiApplication.java <span style='color:#111;'> 301B </span>","children":null,"spread":false},{"title":"candidates","children":[{"title":"CandidateFactory.java <span style='color:#111;'> 320B </span>","children":null,"spread":false},{"title":"CandidateService.java <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"Candidate.java <span style='color:#111;'> 2.36KB </span>","children":null,"spread":false},{"title":"CandidateController.java <span style='color:#111;'> 1.66KB </span>","children":null,"spread":false},{"title":"CandidateRepository.java <span style='color:#111;'> 175B </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 2.30KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 7B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]