总体说明 - gudepeng/icoding GitHub Wiki

接口访问地址:http://127.0.0.1:8081/swagger-ui.html

注册用户:

{ "userAddress": "辽宁省大连市", "userDescription": "一个要成为架构师的程序员", "userEmail": "[email protected]", "userName": "gdp", "userPwd":"1", "userPhone": 11234567890, "userPwd": "1", "userSex": "男", "userImageUrl":"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1514790729921&di=f4ef622b8dc0e1ea3d22173697956ab8&imgtype=0&src=http%3A%2F%2F5.youba.com%2Fpic%2F2015%2F03%2F19%2F1426745043439324_225x301.jpg" }

创建文章:

{ "articleContent": "文章内容", "articleSummary": "文章摘要", "articleTag": "java,cs", "articleTitle": "文章标题", "articleTitleimage": "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1514790729921&di=f4ef622b8dc0e1ea3d22173697956ab8&imgtype=0&src=http%3A%2F%2F5.youba.com%2Fpic%2F2015%2F03%2F19%2F1426745043439324_225x301.jpg", "articleUp": "0", "sortId": 1 }

更新文章

{ "articleId":"2", "articleContent": "文章内容1", "articleSummary": "文章摘要1", "articleTag": "java,cs1", "articleTitle": "文章标题1", "articleTitleimage": "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1514790729921&di=f4ef622b8dc0e1ea3d22173697956ab8&imgtype=0&src=http%3A%2F%2F5.youba.com%2Fpic%2F2015%2F03%2F19%2F1426745043439324_225x301.jpg", "articleUp": "0", "sortId": 2 }

登录成功返回

状态码:200 { "authorities": [], "details": { "remoteAddress": "127.0.0.1", "sessionId": null }, "authenticated": true, "principal": { "password": null, "username": "gdp", "authorities": [], "accountNonExpired": true, "accountNonLocked": true, "credentialsNonExpired": true, "enabled": true }, "credentials": null, "name": "gdp" }

登录失败返回

状态码:500 { "cause": null, "stackTrace": [ { "methodName": "additionalAuthenticationChecks", "fileName": "DaoAuthenticationProvider.java", "lineNumber": 98, "className": "org.springframework.security.authentication.dao.DaoAuthenticationProvider", "nativeMethod": false }, { "methodName": "authenticate", "fileName": "AbstractUserDetailsAuthenticationProvider.java", "lineNumber": 166, "className": "org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider", "nativeMethod": false }, { "methodName": "authenticate", "fileName": "ProviderManager.java", "lineNumber": 174, "className": "org.springframework.security.authentication.ProviderManager", "nativeMethod": false }, { "methodName": "authenticate", "fileName": "ProviderManager.java", "lineNumber": 199, "className": "org.springframework.security.authentication.ProviderManager", "nativeMethod": false }, { "methodName": "attemptAuthentication", "fileName": "UsernamePasswordAuthenticationFilter.java", "lineNumber": 94, "className": "org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "AbstractAuthenticationProcessingFilter.java", "lineNumber": 212, "className": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "FilterChainProxy.java", "lineNumber": 331, "className": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "AbstractAuthenticationProcessingFilter.java", "lineNumber": 200, "className": "org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "FilterChainProxy.java", "lineNumber": 331, "className": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "LogoutFilter.java", "lineNumber": 116, "className": "org.springframework.security.web.authentication.logout.LogoutFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "FilterChainProxy.java", "lineNumber": 331, "className": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain", "nativeMethod": false }, { "methodName": "doFilterInternal", "fileName": "HeaderWriterFilter.java", "lineNumber": 64, "className": "org.springframework.security.web.header.HeaderWriterFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "OncePerRequestFilter.java", "lineNumber": 107, "className": "org.springframework.web.filter.OncePerRequestFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "FilterChainProxy.java", "lineNumber": 331, "className": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "SecurityContextPersistenceFilter.java", "lineNumber": 105, "className": "org.springframework.security.web.context.SecurityContextPersistenceFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "FilterChainProxy.java", "lineNumber": 331, "className": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain", "nativeMethod": false }, { "methodName": "doFilterInternal", "fileName": "WebAsyncManagerIntegrationFilter.java", "lineNumber": 56, "className": "org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "OncePerRequestFilter.java", "lineNumber": 107, "className": "org.springframework.web.filter.OncePerRequestFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "FilterChainProxy.java", "lineNumber": 331, "className": "org.springframework.security.web.FilterChainProxy$VirtualFilterChain", "nativeMethod": false }, { "methodName": "doFilterInternal", "fileName": "FilterChainProxy.java", "lineNumber": 214, "className": "org.springframework.security.web.FilterChainProxy", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "FilterChainProxy.java", "lineNumber": 177, "className": "org.springframework.security.web.FilterChainProxy", "nativeMethod": false }, { "methodName": "invokeDelegate", "fileName": "DelegatingFilterProxy.java", "lineNumber": 347, "className": "org.springframework.web.filter.DelegatingFilterProxy", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "DelegatingFilterProxy.java", "lineNumber": 263, "className": "org.springframework.web.filter.DelegatingFilterProxy", "nativeMethod": false }, { "methodName": "internalDoFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 193, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 166, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilterInternal", "fileName": "RequestContextFilter.java", "lineNumber": 99, "className": "org.springframework.web.filter.RequestContextFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "OncePerRequestFilter.java", "lineNumber": 107, "className": "org.springframework.web.filter.OncePerRequestFilter", "nativeMethod": false }, { "methodName": "internalDoFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 193, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 166, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilterInternal", "fileName": "HttpPutFormContentFilter.java", "lineNumber": 108, "className": "org.springframework.web.filter.HttpPutFormContentFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "OncePerRequestFilter.java", "lineNumber": 107, "className": "org.springframework.web.filter.OncePerRequestFilter", "nativeMethod": false }, { "methodName": "internalDoFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 193, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 166, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilterInternal", "fileName": "HiddenHttpMethodFilter.java", "lineNumber": 81, "className": "org.springframework.web.filter.HiddenHttpMethodFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "OncePerRequestFilter.java", "lineNumber": 107, "className": "org.springframework.web.filter.OncePerRequestFilter", "nativeMethod": false }, { "methodName": "internalDoFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 193, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 166, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilterInternal", "fileName": "CharacterEncodingFilter.java", "lineNumber": 197, "className": "org.springframework.web.filter.CharacterEncodingFilter", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "OncePerRequestFilter.java", "lineNumber": 107, "className": "org.springframework.web.filter.OncePerRequestFilter", "nativeMethod": false }, { "methodName": "internalDoFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 193, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "doFilter", "fileName": "ApplicationFilterChain.java", "lineNumber": 166, "className": "org.apache.catalina.core.ApplicationFilterChain", "nativeMethod": false }, { "methodName": "invoke", "fileName": "StandardWrapperValve.java", "lineNumber": 199, "className": "org.apache.catalina.core.StandardWrapperValve", "nativeMethod": false }, { "methodName": "invoke", "fileName": "StandardContextValve.java", "lineNumber": 96, "className": "org.apache.catalina.core.StandardContextValve", "nativeMethod": false }, { "methodName": "invoke", "fileName": "AuthenticatorBase.java", "lineNumber": 478, "className": "org.apache.catalina.authenticator.AuthenticatorBase", "nativeMethod": false }, { "methodName": "invoke", "fileName": "StandardHostValve.java", "lineNumber": 140, "className": "org.apache.catalina.core.StandardHostValve", "nativeMethod": false }, { "methodName": "invoke", "fileName": "ErrorReportValve.java", "lineNumber": 81, "className": "org.apache.catalina.valves.ErrorReportValve", "nativeMethod": false }, { "methodName": "invoke", "fileName": "StandardEngineValve.java", "lineNumber": 87, "className": "org.apache.catalina.core.StandardEngineValve", "nativeMethod": false }, { "methodName": "service", "fileName": "CoyoteAdapter.java", "lineNumber": 342, "className": "org.apache.catalina.connector.CoyoteAdapter", "nativeMethod": false }, { "methodName": "service", "fileName": "Http11Processor.java", "lineNumber": 803, "className": "org.apache.coyote.http11.Http11Processor", "nativeMethod": false }, { "methodName": "process", "fileName": "AbstractProcessorLight.java", "lineNumber": 66, "className": "org.apache.coyote.AbstractProcessorLight", "nativeMethod": false }, { "methodName": "process", "fileName": "AbstractProtocol.java", "lineNumber": 868, "className": "org.apache.coyote.AbstractProtocol$ConnectionHandler", "nativeMethod": false }, { "methodName": "doRun", "fileName": "NioEndpoint.java", "lineNumber": 1459, "className": "org.apache.tomcat.util.net.NioEndpoint$SocketProcessor", "nativeMethod": false }, { "methodName": "run", "fileName": "SocketProcessorBase.java", "lineNumber": 49, "className": "org.apache.tomcat.util.net.SocketProcessorBase", "nativeMethod": false }, { "methodName": "runWorker", "fileName": "ThreadPoolExecutor.java", "lineNumber": 1142, "className": "java.util.concurrent.ThreadPoolExecutor", "nativeMethod": false }, { "methodName": "run", "fileName": "ThreadPoolExecutor.java", "lineNumber": 617, "className": "java.util.concurrent.ThreadPoolExecutor$Worker", "nativeMethod": false }, { "methodName": "run", "fileName": "TaskThread.java", "lineNumber": 61, "className": "org.apache.tomcat.util.threads.TaskThread$WrappingRunnable", "nativeMethod": false }, { "methodName": "run", "fileName": "Thread.java", "lineNumber": 745, "className": "java.lang.Thread", "nativeMethod": false } ], "localizedMessage": "Bad credentials", "message": "Bad credentials", "suppressed": [] }

没有权限

状态码:403 { "timestamp": 1515029863625, "status": 403, "error": "Forbidden", "message": "Access is denied", "path": "/like" }

登录页面

/login/form

QQ登录页面

/auth/qq

Github登录页面

/auth/github

绑定的登录方式

/connect

绑定和解绑github

/connect/githb post/delete请求