郭超 4 سال پیش
والد
کامیت
60c35e0ccd
33فایلهای تغییر یافته به همراه6100 افزوده شده و 2315 حذف شده
  1. 1419 0
      logs/crowdsource-backend.log.2021-04-28.log
  2. 6 0
      logs/crowdsource-backend.log.2021-04-30.log
  3. 146 0
      logs/recommend.log.2021-04-30.log
  4. 10 2
      src/main/java/edu/nju/controller/AnalyzeController.java
  5. 22 14
      src/main/java/edu/nju/controller/ExtraController.java
  6. 13 2
      src/main/java/edu/nju/controller/OssController.java
  7. 22 10
      src/main/java/edu/nju/controller/RecommendController.java
  8. 21 4
      src/main/java/edu/nju/controller/ReportController.java
  9. 21 2
      src/main/java/edu/nju/controller/UploadController.java
  10. 0 0
      src/main/resources/apidoc/V1.0/.cache.json
  11. 81 133
      src/main/resources/apidoc/V1.0/apidoc.log
  12. 121 100
      src/main/resources/apidoc/V1.0/edu_nju_controller_AnalyzeController.html
  13. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_AnnotationController.html
  14. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_CrowdsourcingToReviewController.html
  15. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_DataController.html
  16. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_DeleteController.html
  17. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_ExportController.html
  18. 151 112
      src/main/resources/apidoc/V1.0/edu_nju_controller_ExtraController.html
  19. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_GraphController.html
  20. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_HistoryController.html
  21. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_NodeController.html
  22. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_OAuthController.html
  23. 101 103
      src/main/resources/apidoc/V1.0/edu_nju_controller_OssController.html
  24. 282 79
      src/main/resources/apidoc/V1.0/edu_nju_controller_RecommendController.html
  25. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_RelationController.html
  26. 143 103
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReportController.html
  27. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewAnalyzeController.html
  28. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewController.html
  29. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewJobController.html
  30. 98 98
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewPaperController.html
  31. 187 100
      src/main/resources/apidoc/V1.0/edu_nju_controller_UploadController.html
  32. 104 104
      src/main/resources/apidoc/V1.0/index.html
  33. 1878 75
      src/main/resources/apidoc/V1.0/众测服务-V1.0-api-docs.md

+ 1419 - 0
logs/crowdsource-backend.log.2021-04-28.log

@@ -1544,3 +1544,1422 @@ java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after a
 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
 	at edu.nju.BugApplication.main(BugApplication.java:31)
 11:54:34.938 [main] INFO  edu.nju.BugApplication - Started BugApplication in 4.082 seconds (JVM running for 7.783) 
+12:31:51.956 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 26667ms for sessionid 0x17559ef9a3fcb2c 
+12:31:51.961 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 26667ms for sessionid 0x17559ef9a3fcb2c, closing socket connection and attempting reconnect 
+12:31:52.081 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: SUSPENDED 
+12:31:53.805 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+12:31:53.823 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /192.168.31.157:53650, server: 101.37.175.111/101.37.175.111:2181 
+12:31:53.848 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Unable to reconnect to ZooKeeper service, session 0x17559ef9a3fcb2c has expired 
+12:31:53.848 [main-EventThread] WARN  org.apache.curator.ConnectionState - Session expired event received 
+12:31:53.848 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Unable to reconnect to ZooKeeper service, session 0x17559ef9a3fcb2c has expired, closing socket connection 
+12:31:53.850 [main-EventThread] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=101.37.175.111:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@5631962 
+12:31:53.850 [main-EventThread] INFO  o.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes 
+12:31:53.851 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: LOST 
+12:31:53.852 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+12:31:53.852 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x17559ef9a3fcb2c 
+12:31:53.871 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /192.168.31.157:53651, server: 101.37.175.111/101.37.175.111:2181 
+12:31:53.892 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Session establishment complete on server 101.37.175.111/101.37.175.111:2181, sessionid = 0x17559ef9a3fcb36, negotiated timeout = 40000 
+12:31:53.892 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: RECONNECTED 
+23:45:04.616 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcb36 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.io.IOException: Operation timed out
+	at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
+	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
+	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
+	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
+	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:75)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:363)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1214)
+23:45:04.717 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: SUSPENDED 
+23:45:06.640 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:45:06.641 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:45:06.641 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcb36 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:45:08.687 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:45:08.688 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:45:08.688 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcb36 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:45:09.859 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:45:09.859 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:45:09.860 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcb36 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:45:11.136 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:45:11.136 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:45:11.136 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcb36 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:52:59.477 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:52:59.733 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:52:59.737 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcb36 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:01.456 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 4076727. Adjusted session timeout ms: 40000 
+00:53:01.503 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+00:53:01.506 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 4076789. Adjusted session timeout ms: 40000 
+00:53:01.507 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+00:53:01.507 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 4076790. Adjusted session timeout ms: 40000 
+00:53:01.507 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+00:53:01.507 [main-EventThread] WARN  org.apache.curator.ConnectionState - Session expired event received 
+00:53:01.507 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 4076790. Adjusted session timeout ms: 40000 
+00:53:01.508 [main-EventThread] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=101.37.175.111:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@5631962 
+00:53:01.510 [main-EventThread] INFO  o.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes 
+00:53:01.512 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+00:53:01.513 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: LOST 
+00:53:01.513 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:01.512 [main-EventThread] WARN  org.apache.curator.ConnectionState - Session expired event received 
+00:53:01.513 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x17559ef9a3fcb36 
+00:53:01.513 [main-EventThread] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=101.37.175.111:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@5631962 
+00:53:01.513 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:01.514 [main-EventThread] INFO  o.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes 
+00:53:01.514 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:01.514 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x0 
+00:53:01.517 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:01.517 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:01.517 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:01.860 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:01.861 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:01.861 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcb36 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:02.622 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:02.622 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:02.622 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:03.738 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:03.738 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:03.739 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:04.848 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:05.142 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:05.145 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:06.252 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:06.255 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:06.255 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:07.367 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:07.367 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:07.368 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:08.484 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:08.486 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:08.486 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:09.596 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:09.597 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:09.597 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:10.709 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:10.710 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:10.710 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:11.823 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:11.824 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:11.824 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:12.945 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:12.945 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:12.945 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:14.062 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:14.062 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:14.063 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:15.164 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:15.164 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:15.164 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:16.272 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:16.273 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:16.273 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:17.379 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:17.379 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:17.379 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+00:53:18.482 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+00:53:18.483 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+00:53:18.483 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+08:15:06.264 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+08:15:06.412 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+08:15:06.430 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+08:15:07.546 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+08:15:07.964 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+08:15:07.991 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:23.742 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:23.743 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:23.743 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:24.888 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:24.963 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:24.963 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:26.069 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:26.361 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:26.378 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:27.482 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:27.482 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:27.483 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:28.587 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:28.587 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:28.587 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:29.693 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:29.693 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:29.695 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:30.800 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:30.800 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:30.800 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:31.908 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:31.909 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:31.909 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:33.016 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:33.016 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:33.017 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:34.126 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:34.126 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:34.126 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:35.232 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:35.233 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:35.233 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:36.336 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:36.336 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:36.336 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:37.441 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:37.441 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:37.441 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:38.551 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:38.551 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:38.551 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:39.660 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:39.660 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:39.661 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:40.768 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:40.769 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:40.769 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:41.876 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:41.876 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:41.877 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:42.982 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:42.982 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:42.983 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:44.090 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:44.090 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:44.091 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:45.196 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:45.196 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:45.196 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:46.298 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:46.299 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:46.299 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:47.403 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:47.429 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:47.436 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:48.600 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:48.600 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:48.601 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:49.704 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:49.715 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:49.715 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:50.820 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:50.834 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:50.838 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:52.063 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:52.378 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:52.378 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:53.484 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:53.485 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:53.485 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:54.590 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:54.590 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:54.590 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:55.693 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:55.693 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:55.693 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:56.797 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:56.798 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:56.798 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:57.901 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:57.902 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:57.902 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:57:59.010 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:57:59.011 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:57:59.011 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:58:00.119 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:58:00.119 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:58:00.119 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:58:01.226 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:58:01.227 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+15:58:01.227 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+15:58:02.332 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+15:58:02.391 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /192.168.43.121:54502, server: 101.37.175.111/101.37.175.111:2181 
+15:58:02.464 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Session establishment complete on server 101.37.175.111/101.37.175.111:2181, sessionid = 0x17559ef9a3fcc79, negotiated timeout = 40000 
+15:58:02.468 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: RECONNECTED 
+16:00:33.329 [http-nio-8090-exec-1] INFO  o.a.c.c.C.[.[localhost].[/Bug/api] - Initializing Spring DispatcherServlet 'dispatcherServlet' 
+16:00:33.329 [http-nio-8090-exec-1] INFO  o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' 
+16:00:33.355 [http-nio-8090-exec-1] INFO  o.s.web.servlet.DispatcherServlet - Completed initialization in 26 ms 
+16:01:56.388 [http-nio-8090-exec-3] INFO  org.mongodb.driver.connection - Opened connection [connectionId{localValue:3, serverValue:101}] to localhost:27017 
+16:21:35.905 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 26671ms for sessionid 0x17559ef9a3fcc79 
+16:21:35.906 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 26671ms for sessionid 0x17559ef9a3fcc79, closing socket connection and attempting reconnect 
+16:21:36.010 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: SUSPENDED 
+16:21:37.713 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:37.713 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+16:21:37.713 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc79 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+16:21:39.553 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:39.553 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+16:21:39.554 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc79 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+16:21:40.818 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:40.818 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+16:21:40.819 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc79 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+16:21:42.666 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:42.667 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+16:21:42.667 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc79 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+16:21:44.016 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:44.017 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+16:21:44.017 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc79 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+16:21:45.825 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:45.841 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+16:21:45.841 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc79 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+16:21:47.058 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:47.058 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+16:21:47.059 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc79 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+16:21:48.834 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:48.834 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+16:21:48.834 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc79 for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+16:21:50.906 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:51.150 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /192.168.43.121:58622, server: 101.37.175.111/101.37.175.111:2181 
+16:21:51.290 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Unable to reconnect to ZooKeeper service, session 0x17559ef9a3fcc79 has expired 
+16:21:51.290 [main-EventThread] WARN  org.apache.curator.ConnectionState - Session expired event received 
+16:21:51.290 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Unable to reconnect to ZooKeeper service, session 0x17559ef9a3fcc79 has expired, closing socket connection 
+16:21:51.290 [main-EventThread] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=101.37.175.111:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@5631962 
+16:21:51.290 [main-EventThread] INFO  o.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes 
+16:21:51.291 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: LOST 
+16:21:51.291 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x17559ef9a3fcc79 
+16:21:51.292 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+16:21:51.473 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /192.168.43.121:58633, server: 101.37.175.111/101.37.175.111:2181 
+16:21:51.654 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Session establishment complete on server 101.37.175.111/101.37.175.111:2181, sessionid = 0x17559ef9a3fcc7d, negotiated timeout = 40000 
+16:21:51.654 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: RECONNECTED 
+17:16:23.199 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 26670ms for sessionid 0x17559ef9a3fcc7d 
+17:16:23.200 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 26670ms for sessionid 0x17559ef9a3fcc7d, closing socket connection and attempting reconnect 
+17:16:23.306 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: SUSPENDED 
+17:16:24.466 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+17:16:24.466 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+17:16:24.467 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+17:16:25.938 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+17:16:25.939 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+17:16:25.939 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+17:16:27.898 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+17:16:27.899 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+17:16:27.899 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+18:15:27.693 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+18:15:27.693 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+18:15:27.693 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+18:15:29.498 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+18:15:29.498 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+18:15:29.498 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+18:15:30.716 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+18:15:30.717 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+18:15:30.717 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+18:15:32.278 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+18:15:32.278 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+18:15:32.279 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+18:15:33.865 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+18:15:33.865 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+18:15:33.865 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+18:15:35.634 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+18:15:35.635 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+18:15:35.635 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+18:15:37.141 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+18:15:37.142 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+18:15:37.142 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+18:15:38.870 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+18:15:38.872 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+18:15:38.872 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:30:07.682 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:30:07.682 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:30:07.682 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:30:08.823 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:30:08.823 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:30:08.823 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:30:10.470 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:30:10.471 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:30:10.471 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:30:12.170 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:30:12.170 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:30:12.171 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:30:13.711 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:30:13.712 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:30:13.712 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+23:30:15.186 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+23:30:15.186 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+23:30:15.186 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:31.610 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:31.747 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 40207607. Adjusted session timeout ms: 40000 
+04:26:31.814 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:31.837 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x17559ef9a3fcc7d for server 101.37.175.111/101.37.175.111:2181, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:31.838 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+04:26:31.851 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 40208545. Adjusted session timeout ms: 40000 
+04:26:31.851 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+04:26:31.851 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 40208545. Adjusted session timeout ms: 40000 
+04:26:31.851 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+04:26:31.851 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 40208545. Adjusted session timeout ms: 40000 
+04:26:31.851 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+04:26:31.851 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 40208545. Adjusted session timeout ms: 40000 
+04:26:31.851 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+04:26:31.851 [main-EventThread] WARN  org.apache.curator.ConnectionState - Session expired event received 
+04:26:31.851 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 40208545. Adjusted session timeout ms: 40000 
+04:26:31.854 [main-EventThread] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=101.37.175.111:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@5631962 
+04:26:31.858 [main-EventThread] INFO  o.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes 
+04:26:31.863 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:31.864 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:31.864 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:31.864 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+04:26:31.864 [main-EventThread] WARN  org.apache.curator.ConnectionState - Session expired event received 
+04:26:31.864 [Curator-ConnectionStateManager-0] WARN  o.a.c.f.s.ConnectionStateManager - Session timeout has elapsed while SUSPENDED. Injecting a session expiration. Elapsed ms: 40208558. Adjusted session timeout ms: 40000 
+04:26:31.864 [main-EventThread] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=101.37.175.111:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@5631962 
+04:26:31.864 [main-EventThread] INFO  o.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes 
+04:26:31.866 [Curator-ConnectionStateManager-0] INFO  o.a.zookeeper.ZooKeeperTestable - injectSessionExpiration() called 
+04:26:31.866 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: LOST 
+04:26:31.866 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x17559ef9a3fcc7d 
+04:26:31.866 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x0 
+04:26:31.867 [main-EventThread] WARN  org.apache.curator.ConnectionState - Session expired event received 
+04:26:31.867 [main-EventThread] INFO  org.apache.zookeeper.ZooKeeper - Initiating client connection, connectString=101.37.175.111:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@5631962 
+04:26:31.869 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:31.869 [main-EventThread] INFO  o.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 4194304 Bytes 
+04:26:31.869 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:31.869 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:31.869 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x0 
+04:26:31.872 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:31.872 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:31.872 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:32.980 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:32.981 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:32.981 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:34.087 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:34.087 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:34.087 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:35.189 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:39.636 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:39.653 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:40.762 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:41.045 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:41.051 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:42.157 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:42.467 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:42.469 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+04:26:43.571 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+04:26:43.572 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+04:26:43.572 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:44.042 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:44.810 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:44.840 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:45.945 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:46.153 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:46.177 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:47.301 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:47.310 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:47.311 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:48.438 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:48.500 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:48.501 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:49.609 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:49.630 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:49.631 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:50.734 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:50.902 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:50.903 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:52.010 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:52.011 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:52.011 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:53.116 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:53.117 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:53.117 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:54.221 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:54.221 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:54.221 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:55.328 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:55.328 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:55.328 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:56.431 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:56.431 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:56.432 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:57.532 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:57.532 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:57.534 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:58.636 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:58.636 [main-SendThread(101.37.175.111:2181)] ERROR o.a.zookeeper.ClientCnxnSocketNIO - Unable to open socket to 101.37.175.111/101.37.175.111:2181 
+09:55:58.637 [main-SendThread(101.37.175.111:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
+java.net.SocketException: Network is unreachable
+	at sun.nio.ch.Net.connect0(Native Method)
+	at sun.nio.ch.Net.connect(Net.java:454)
+	at sun.nio.ch.Net.connect(Net.java:446)
+	at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:275)
+	at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:285)
+	at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1098)
+	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1133)
+09:55:59.743 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server 101.37.175.111/101.37.175.111:2181. Will not attempt to authenticate using SASL (unknown error) 
+09:55:59.986 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /192.168.43.121:60863, server: 101.37.175.111/101.37.175.111:2181 
+09:56:00.402 [main-SendThread(101.37.175.111:2181)] INFO  org.apache.zookeeper.ClientCnxn - Session establishment complete on server 101.37.175.111/101.37.175.111:2181, sessionid = 0x17559ef9a3fcd41, negotiated timeout = 40000 
+09:56:00.403 [main-EventThread] INFO  o.a.c.f.s.ConnectionStateManager - State change: RECONNECTED 
+09:57:46.865 [Thread-26] INFO  c.a.c.n.r.NacosServiceRegistry - De-registering from Nacos Server now... 
+09:57:46.880 [Thread-26] ERROR c.a.c.n.r.NacosServiceRegistry - ERR_NACOS_DEREGISTER, de-register failed...NacosRegistration{nacosDiscoveryProperties=NacosDiscoveryProperties{serverAddr='127.0.0.1:8848', endpoint='', namespace='', watchDelay=30000, logName='', service='mooctest-crowdsource-backend', weight=1.0, clusterName='DEFAULT', namingLoadCacheAtStart='false', metadata={preserved.register.source=SPRING_CLOUD}, registerEnabled=true, ip='172.16.100.146', networkInterface='', port=8090, secure=false, accessKey='', secretKey=''}}, 
+java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried: failed to req API:127.0.0.1:8848/nacos/v1/ns/instance. code:500 msg: java.net.ConnectException: Connection refused (Connection refused)
+	at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:464)
+	at com.alibaba.nacos.client.naming.net.NamingProxy.reqAPI(NamingProxy.java:386)
+	at com.alibaba.nacos.client.naming.net.NamingProxy.deregisterService(NamingProxy.java:205)
+	at com.alibaba.nacos.client.naming.NacosNamingService.deregisterInstance(NacosNamingService.java:244)
+	at com.alibaba.nacos.client.naming.NacosNamingService.deregisterInstance(NacosNamingService.java:231)
+	at com.alibaba.nacos.client.naming.NacosNamingService.deregisterInstance(NacosNamingService.java:221)
+	at com.alibaba.cloud.nacos.registry.NacosServiceRegistry.deregister(NacosServiceRegistry.java:85)
+	at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.deregister(AbstractAutoServiceRegistration.java:256)
+	at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.stop(AbstractAutoServiceRegistration.java:271)
+	at org.springframework.cloud.client.serviceregistry.AbstractAutoServiceRegistration.destroy(AbstractAutoServiceRegistration.java:208)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+	at java.lang.reflect.Method.invoke(Method.java:498)
+	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:363)
+	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeDestroyMethods(InitDestroyAnnotationBeanPostProcessor.java:321)
+	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeDestruction(InitDestroyAnnotationBeanPostProcessor.java:156)
+	at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:240)
+	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:571)
+	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:543)
+	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1055)
+	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:504)
+	at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1062)
+	at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1057)
+	at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1026)
+	at org.springframework.context.support.AbstractApplicationContext$1.run(AbstractApplicationContext.java:945)
+09:57:46.881 [Thread-26] INFO  c.a.c.n.r.NacosServiceRegistry - De-registration finished. 
+09:57:46.881 [Thread-26] INFO  o.s.s.c.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor' 
+09:57:46.925 [Thread-26] INFO  org.mongodb.driver.connection - Closed connection [connectionId{localValue:3, serverValue:101}] to localhost:27017 because the pool has been closed. 
+09:57:46.926 [Thread-26] INFO  org.mongodb.driver.connection - Closed connection [connectionId{localValue:2, serverValue:96}] to localhost:27017 because the pool has been closed. 

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 6 - 0
logs/crowdsource-backend.log.2021-04-30.log


+ 146 - 0
logs/recommend.log.2021-04-30.log

@@ -0,0 +1,146 @@
+10:18:53.575 [http-nio-8090-exec-3] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:1490-2614,bug_category:,severity:0,recurrent:0,title:,report_id:,create_time_millis:1619749133561,description:,img_url:,bug_page:牛人专线,case_id:1490,
+similarJson:serialVersionUID:null,id:10010000035416,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:周边游古镇页面出现,report_id:10010000035309,create_time_millis:1542362093300,description:打开途牛官网,点击跟团游-牛人专线-周边游,点击婺源篁岭,跳转页面出现404错误,显示“牛牛正在休息哦!”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449296365/1542449296365_07.png,bug_page:牛人专线-周边游-悠悠古镇,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035415,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:牛人新品页面中电话号码可,report_id:10010000035317,create_time_millis:1542362060230,description:1、登录途牛旅游网
+2、鼠标悬停至“跟团游”
+3、点击“牛人专线”
+4、点击“牛人新品”
+5、使用谷歌浏览器打开界面进行测试
+6、鼠标移至电话号码处可点击,但是无页面弹出,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449283075/1542449283075_电话号码2.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035414,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:游地区推荐标题显示重复,report_id:10010000035307,create_time_millis:1542362027160,description:1.选择境内游地区为北京
+2.推荐标题显示重复,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449201394/1542449201394_9.png,bug_page:牛人专线-境内游-地区选择,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035413,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:4,title:后进入页面,report_id:10010000035322,create_time_millis:1542361994090,description:点击牛人初体验的图片后,没有像点击其他图片一样进入页面。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449219859/1542449219859_捕获.PNG,bug_page:牛人专线-周边游,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035379,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:4,recurrent:5,title:牛人专线页面缩放排版错误,report_id:10010000035308,create_time_millis:1542360902780,description:页面缩放后应和原网页排版布局相同,实际上缩放后页面右上侧的吃住升级、行程合理、资深导游、无强制性消费,这个板块会缩在牛专目的地、牛人新品的下面,显示重叠,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447891120/1542447891120_7J7@M]O1$R4}{4()Z8MJ9LQ.png,undefined,bug_page:牛人专线,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035378,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:有部分字体没有显示用户,report_id:10010000035316,create_time_millis:1542360869710,description:在牛专目的地、牛人新品、首付出发中字体显示不全面,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447848335/1542447848335_捕获.PNG,bug_page:牛人专线-热门目的地-牛专目的地,case_id:1490,score:5.0,
+
+10:18:54.964 [http-nio-8090-exec-5] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:1490-2614,bug_category:,severity:0,recurrent:0,title:,report_id:,create_time_millis:1619749134958,description:,img_url:,bug_page:牛人专线-热门目的地,case_id:1490,
+similarJson:serialVersionUID:null,id:10010000035339,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品中右侧地点选择出选项,report_id:10010000035311,create_time_millis:1542359646120,description:进入牛人新品后发现右侧地点选择出现为空的选项,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446291204/1542446291204_286235131c8b1f9a40040f69c005f2e.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035338,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:,report_id:10010000035308,create_time_millis:1542359613050,description:价格区间设为0-0.1,查询结果错误,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446341088/1542446341088_Z]D@AZ7ZOTL4@QHAX8E7(H8.png,undefined,http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446361360/1542446361360_Z]D@AZ7ZOTL4@QHAX8E7(H8.png,bug_page:牛人专线-热门目的地,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035415,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:牛人新品页面中电话号码可,report_id:10010000035317,create_time_millis:1542362060230,description:1、登录途牛旅游网
+2、鼠标悬停至“跟团游”
+3、点击“牛人专线”
+4、点击“牛人新品”
+5、使用谷歌浏览器打开界面进行测试
+6、鼠标移至电话号码处可点击,但是无页面弹出,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449283075/1542449283075_电话号码2.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035335,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品标题错误,report_id:10010000035313,create_time_millis:1542359513840,description:1、点击“牛人新品”按钮
+2、查看窗口文字标题
+实际结果:窗口文字标题为“牛新品---2”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446308310/1542446308310_2.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035378,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:有部分字体没有显示用户,report_id:10010000035316,create_time_millis:1542360869710,description:在牛专目的地、牛人新品、首付出发中字体显示不全面,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447848335/1542447848335_捕获.PNG,bug_page:牛人专线-热门目的地-牛专目的地,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035411,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:牛人专线牛人新品右侧黑色显示国家名称椭圆界面错误,report_id:10010000035308,create_time_millis:1542361961020,description:最下面的空白框点不动;且在鼠标放在其他黑色椭圆显示为小手样式,在空白框显示无变化,为鼠标箭头,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449095199/1542449095199_BYE8ST}9A2)TJYV4{�K6A.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+
+10:18:56.290 [http-nio-8090-exec-4] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:1490-2614,bug_category:功能不完整,severity:0,recurrent:0,title:,report_id:,create_time_millis:1619749136282,description:,img_url:,bug_page:牛人专线-热门目的地,case_id:1490,
+similarJson:serialVersionUID:null,id:10010000035338,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:,report_id:10010000035308,create_time_millis:1542359613050,description:价格区间设为0-0.1,查询结果错误,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446341088/1542446341088_Z]D@AZ7ZOTL4@QHAX8E7(H8.png,undefined,http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446361360/1542446361360_Z]D@AZ7ZOTL4@QHAX8E7(H8.png,bug_page:牛人专线-热门目的地,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035411,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:牛人专线牛人新品右侧黑色显示国家名称椭圆界面错误,report_id:10010000035308,create_time_millis:1542361961020,description:最下面的空白框点不动;且在鼠标放在其他黑色椭圆显示为小手样式,在空白框显示无变化,为鼠标箭头,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449095199/1542449095199_BYE8ST}9A2)TJYV4{�K6A.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035340,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:5,title:,report_id:10010000035312,create_time_millis:1542359679190,description:牛新品页面,最后一个标签无效。,img_url:,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035323,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:5,title:牛人新品出现无功能按钮,report_id:10010000035304,create_time_millis:1542359150070,description:牛人新品右侧线路最下面的按钮,点击后没有反应,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542445828766/1542445828766_屏幕截图(6).png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035487,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:5,title:牛转目的地界面概要信息价格消息价格显示,report_id:10010000035307,create_time_millis:1542366916970,description:1.进入牛专目的地界面
+2.概要信息价格与详细信息价格不一致,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542453950240/1542453950240_18.png,http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542453958078/1542453958078_18-1.png,bug_page:牛人专线-热门目的地-牛专目的地,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035493,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:5,title:牛目的地界面包含牛人专线内容,report_id:10010000035307,create_time_millis:1542367462420,description:1.进入牛专目的地界面
+2.界面内容包含非牛人专线内容,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542454171222/1542454171222_19.png,bug_page:牛人专线-热门目的地-牛专目的地,case_id:1490,score:15.0,
+
+10:18:57.479 [http-nio-8090-exec-6] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:1490-2614,bug_category:功能不完整,severity:0,recurrent:0,title:,report_id:,create_time_millis:1619749137474,description:,img_url:,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,
+similarJson:serialVersionUID:null,id:10010000035411,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:牛人专线牛人新品右侧黑色显示国家名称椭圆界面错误,report_id:10010000035308,create_time_millis:1542361961020,description:最下面的空白框点不动;且在鼠标放在其他黑色椭圆显示为小手样式,在空白框显示无变化,为鼠标箭头,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449095199/1542449095199_BYE8ST}9A2)TJYV4{�K6A.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035340,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:5,title:,report_id:10010000035312,create_time_millis:1542359679190,description:牛新品页面,最后一个标签无效。,img_url:,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035468,case_take_id:1490-2614,bug_category:功能不完整,severity:2,recurrent:5,title:牛人新品页面浏览器标题显示错误,report_id:10010000035309,create_time_millis:1542364953350,description:打开途牛官网,点击跟团游-牛人专线-热门目的地-牛人新品,在牛人新品页面中,浏览器标题显示错误。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542452075249/1542452075249_12.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035323,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:5,title:牛人新品出现无功能按钮,report_id:10010000035304,create_time_millis:1542359150070,description:牛人新品右侧线路最下面的按钮,点击后没有反应,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542445828766/1542445828766_屏幕截图(6).png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035345,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:5,title:,report_id:10010000035312,create_time_millis:1542359811470,description:牛人新品页面,右侧最后一个标签,点击后没有跳转到对应板块,img_url:,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035474,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:5,title:右侧菜单按钮可范围,report_id:10010000035304,create_time_millis:1542365607890,description:点击牛人新品右侧的菜单键的文字部分才会跳转到相关页面,点击按钮内文字外的地方无法跳转,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542452539589/1542452539589_屏幕截图(21).png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+
+10:18:58.581 [http-nio-8090-exec-7] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:1490-2614,bug_category:功能不完整,severity:2,recurrent:0,title:,report_id:,create_time_millis:1619749138576,description:,img_url:,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,
+similarJson:serialVersionUID:null,id:10010000035468,case_take_id:1490-2614,bug_category:功能不完整,severity:2,recurrent:5,title:牛人新品页面浏览器标题显示错误,report_id:10010000035309,create_time_millis:1542364953350,description:打开途牛官网,点击跟团游-牛人专线-热门目的地-牛人新品,在牛人新品页面中,浏览器标题显示错误。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542452075249/1542452075249_12.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:25.0,
+serialVersionUID:null,id:10010000035370,case_take_id:1490-2614,bug_category:功能不完整,severity:2,recurrent:5,title:牛人新品里面右侧悬浮栏下空白悬浮栏无,report_id:10010000035342,create_time_millis:1542360605150,description:点击“跟团游”--“牛人专线“--找到”热门目的地“,点击”牛人新品“,进入牛人新品往下拉页面右侧会出现悬浮栏,点击最后一个空白悬浮栏,无任何反应。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447580981/1542447580981_微信图片_20181117172511.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:25.0,
+serialVersionUID:null,id:10010000035339,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品中右侧地点选择出选项,report_id:10010000035311,create_time_millis:1542359646120,description:进入牛人新品后发现右侧地点选择出现为空的选项,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446291204/1542446291204_286235131c8b1f9a40040f69c005f2e.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035335,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品标题错误,report_id:10010000035313,create_time_millis:1542359513840,description:1、点击“牛人新品”按钮
+2、查看窗口文字标题
+实际结果:窗口文字标题为“牛新品---2”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446308310/1542446308310_2.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035411,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:牛人专线牛人新品右侧黑色显示国家名称椭圆界面错误,report_id:10010000035308,create_time_millis:1542361961020,description:最下面的空白框点不动;且在鼠标放在其他黑色椭圆显示为小手样式,在空白框显示无变化,为鼠标箭头,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449095199/1542449095199_BYE8ST}9A2)TJYV4{�K6A.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035332,case_take_id:1490-2614,bug_category:用户体验,severity:2,recurrent:5,title:牛人新品中点左侧抢购按钮右侧无字符部分无,report_id:10010000035311,create_time_millis:1542359414630,description:进入牛人新品后点击左侧按钮无字符部分无反应,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446029853/1542446029853_c4bb825350776f838c584e8697d2f08.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+
+10:18:59.492 [http-nio-8090-exec-9] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:1490-2614,bug_category:功能不完整,severity:2,recurrent:2,title:,report_id:,create_time_millis:1619749139486,description:,img_url:,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,
+similarJson:serialVersionUID:null,id:10010000035468,case_take_id:1490-2614,bug_category:功能不完整,severity:2,recurrent:5,title:牛人新品页面浏览器标题显示错误,report_id:10010000035309,create_time_millis:1542364953350,description:打开途牛官网,点击跟团游-牛人专线-热门目的地-牛人新品,在牛人新品页面中,浏览器标题显示错误。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542452075249/1542452075249_12.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:25.0,
+serialVersionUID:null,id:10010000035370,case_take_id:1490-2614,bug_category:功能不完整,severity:2,recurrent:5,title:牛人新品里面右侧悬浮栏下空白悬浮栏无,report_id:10010000035342,create_time_millis:1542360605150,description:点击“跟团游”--“牛人专线“--找到”热门目的地“,点击”牛人新品“,进入牛人新品往下拉页面右侧会出现悬浮栏,点击最后一个空白悬浮栏,无任何反应。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447580981/1542447580981_微信图片_20181117172511.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:25.0,
+serialVersionUID:null,id:10010000035339,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品中右侧地点选择出选项,report_id:10010000035311,create_time_millis:1542359646120,description:进入牛人新品后发现右侧地点选择出现为空的选项,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446291204/1542446291204_286235131c8b1f9a40040f69c005f2e.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035335,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品标题错误,report_id:10010000035313,create_time_millis:1542359513840,description:1、点击“牛人新品”按钮
+2、查看窗口文字标题
+实际结果:窗口文字标题为“牛新品---2”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446308310/1542446308310_2.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035411,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:牛人专线牛人新品右侧黑色显示国家名称椭圆界面错误,report_id:10010000035308,create_time_millis:1542361961020,description:最下面的空白框点不动;且在鼠标放在其他黑色椭圆显示为小手样式,在空白框显示无变化,为鼠标箭头,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449095199/1542449095199_BYE8ST}9A2)TJYV4{�K6A.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+serialVersionUID:null,id:10010000035332,case_take_id:1490-2614,bug_category:用户体验,severity:2,recurrent:5,title:牛人新品中点左侧抢购按钮右侧无字符部分无,report_id:10010000035311,create_time_millis:1542359414630,description:进入牛人新品后点击左侧按钮无字符部分无反应,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446029853/1542446029853_c4bb825350776f838c584e8697d2f08.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:20.0,
+
+10:31:41.516 [http-nio-8090-exec-4] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:1490-2614,bug_category:,severity:0,recurrent:0,title:,report_id:,create_time_millis:1619749901490,description:,img_url:,bug_page:牛人专线,case_id:1490,
+similarJson:serialVersionUID:null,id:10010000035416,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:周边游古镇页面出现,report_id:10010000035309,create_time_millis:1542362093300,description:打开途牛官网,点击跟团游-牛人专线-周边游,点击婺源篁岭,跳转页面出现404错误,显示“牛牛正在休息哦!”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449296365/1542449296365_07.png,bug_page:牛人专线-周边游-悠悠古镇,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035415,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:牛人新品页面中电话号码可,report_id:10010000035317,create_time_millis:1542362060230,description:1、登录途牛旅游网
+2、鼠标悬停至“跟团游”
+3、点击“牛人专线”
+4、点击“牛人新品”
+5、使用谷歌浏览器打开界面进行测试
+6、鼠标移至电话号码处可点击,但是无页面弹出,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449283075/1542449283075_电话号码2.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035414,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:游地区推荐标题显示重复,report_id:10010000035307,create_time_millis:1542362027160,description:1.选择境内游地区为北京
+2.推荐标题显示重复,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449201394/1542449201394_9.png,bug_page:牛人专线-境内游-地区选择,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035413,case_take_id:1490-2614,bug_category:功能不完整,severity:3,recurrent:4,title:后进入页面,report_id:10010000035322,create_time_millis:1542361994090,description:点击牛人初体验的图片后,没有像点击其他图片一样进入页面。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449219859/1542449219859_捕获.PNG,bug_page:牛人专线-周边游,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035379,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:4,recurrent:5,title:牛人专线页面缩放排版错误,report_id:10010000035308,create_time_millis:1542360902780,description:页面缩放后应和原网页排版布局相同,实际上缩放后页面右上侧的吃住升级、行程合理、资深导游、无强制性消费,这个板块会缩在牛专目的地、牛人新品的下面,显示重叠,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447891120/1542447891120_7J7@M]O1$R4}{4()Z8MJ9LQ.png,undefined,bug_page:牛人专线,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035378,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:有部分字体没有显示用户,report_id:10010000035316,create_time_millis:1542360869710,description:在牛专目的地、牛人新品、首付出发中字体显示不全面,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447848335/1542447848335_捕获.PNG,bug_page:牛人专线-热门目的地-牛专目的地,case_id:1490,score:5.0,
+
+10:38:55.410 [http-nio-8090-exec-1] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:,bug_category:,severity:0,recurrent:0,title:,report_id:,create_time_millis:1619750335393,description:,img_url:,bug_page:,case_id:,
+similarJson:serialVersionUID:null,id:10010000035339,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品中右侧地点选择出选项,report_id:10010000035311,create_time_millis:1542359646120,description:进入牛人新品后发现右侧地点选择出现为空的选项,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446291204/1542446291204_286235131c8b1f9a40040f69c005f2e.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035338,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:,report_id:10010000035308,create_time_millis:1542359613050,description:价格区间设为0-0.1,查询结果错误,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446341088/1542446341088_Z]D@AZ7ZOTL4@QHAX8E7(H8.png,undefined,http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446361360/1542446361360_Z]D@AZ7ZOTL4@QHAX8E7(H8.png,bug_page:牛人专线-热门目的地,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035415,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:牛人新品页面中电话号码可,report_id:10010000035317,create_time_millis:1542362060230,description:1、登录途牛旅游网
+2、鼠标悬停至“跟团游”
+3、点击“牛人专线”
+4、点击“牛人新品”
+5、使用谷歌浏览器打开界面进行测试
+6、鼠标移至电话号码处可点击,但是无页面弹出,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449283075/1542449283075_电话号码2.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035335,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品标题错误,report_id:10010000035313,create_time_millis:1542359513840,description:1、点击“牛人新品”按钮
+2、查看窗口文字标题
+实际结果:窗口文字标题为“牛新品---2”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446308310/1542446308310_2.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035378,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:有部分字体没有显示用户,report_id:10010000035316,create_time_millis:1542360869710,description:在牛专目的地、牛人新品、首付出发中字体显示不全面,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447848335/1542447848335_捕获.PNG,bug_page:牛人专线-热门目的地-牛专目的地,case_id:1490,score:5.0,
+serialVersionUID:null,id:10010000035411,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:牛人专线牛人新品右侧黑色显示国家名称椭圆界面错误,report_id:10010000035308,create_time_millis:1542361961020,description:最下面的空白框点不动;且在鼠标放在其他黑色椭圆显示为小手样式,在空白框显示无变化,为鼠标箭头,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449095199/1542449095199_BYE8ST}9A2)TJYV4{�K6A.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:5.0,
+
+10:38:59.259 [http-nio-8090-exec-2] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:,bug_category:,severity:0,recurrent:0,title:,report_id:,create_time_millis:1619750339251,description:,img_url:,bug_page:,case_id:,
+similarJson:serialVersionUID:null,id:10010000035339,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品中右侧地点选择出选项,report_id:10010000035311,create_time_millis:1542359646120,description:进入牛人新品后发现右侧地点选择出现为空的选项,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446291204/1542446291204_286235131c8b1f9a40040f69c005f2e.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035415,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:牛人新品页面中电话号码可,report_id:10010000035317,create_time_millis:1542362060230,description:1、登录途牛旅游网
+2、鼠标悬停至“跟团游”
+3、点击“牛人专线”
+4、点击“牛人新品”
+5、使用谷歌浏览器打开界面进行测试
+6、鼠标移至电话号码处可点击,但是无页面弹出,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449283075/1542449283075_电话号码2.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035335,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品标题错误,report_id:10010000035313,create_time_millis:1542359513840,description:1、点击“牛人新品”按钮
+2、查看窗口文字标题
+实际结果:窗口文字标题为“牛新品---2”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446308310/1542446308310_2.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035357,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:4,recurrent:5,title:进入牛人新品页面出现页面是牛人新品,report_id:10010000035318,create_time_millis:1542360175240,description:进入牛人新品页面出现的页面是牛新品--2,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447084687/1542447084687_QQ截图20181117171413.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035411,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:牛人专线牛人新品右侧黑色显示国家名称椭圆界面错误,report_id:10010000035308,create_time_millis:1542361961020,description:最下面的空白框点不动;且在鼠标放在其他黑色椭圆显示为小手样式,在空白框显示无变化,为鼠标箭头,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449095199/1542449095199_BYE8ST}9A2)TJYV4{�K6A.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035332,case_take_id:1490-2614,bug_category:用户体验,severity:2,recurrent:5,title:牛人新品中点左侧抢购按钮右侧无字符部分无,report_id:10010000035311,create_time_millis:1542359414630,description:进入牛人新品后点击左侧按钮无字符部分无反应,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446029853/1542446029853_c4bb825350776f838c584e8697d2f08.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+
+10:39:01.612 [http-nio-8090-exec-3] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:,bug_category:不正常退出,severity:0,recurrent:0,title:,report_id:,create_time_millis:1619750341603,description:,img_url:,bug_page:,case_id:,
+similarJson:serialVersionUID:null,id:10010000035339,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品中右侧地点选择出选项,report_id:10010000035311,create_time_millis:1542359646120,description:进入牛人新品后发现右侧地点选择出现为空的选项,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446291204/1542446291204_286235131c8b1f9a40040f69c005f2e.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035415,case_take_id:1490-2614,bug_category:用户体验,severity:3,recurrent:5,title:牛人新品页面中电话号码可,report_id:10010000035317,create_time_millis:1542362060230,description:1、登录途牛旅游网
+2、鼠标悬停至“跟团游”
+3、点击“牛人专线”
+4、点击“牛人新品”
+5、使用谷歌浏览器打开界面进行测试
+6、鼠标移至电话号码处可点击,但是无页面弹出,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449283075/1542449283075_电话号码2.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035335,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品标题错误,report_id:10010000035313,create_time_millis:1542359513840,description:1、点击“牛人新品”按钮
+2、查看窗口文字标题
+实际结果:窗口文字标题为“牛新品---2”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446308310/1542446308310_2.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035357,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:4,recurrent:5,title:进入牛人新品页面出现页面是牛人新品,report_id:10010000035318,create_time_millis:1542360175240,description:进入牛人新品页面出现的页面是牛新品--2,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542447084687/1542447084687_QQ截图20181117171413.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035411,case_take_id:1490-2614,bug_category:功能不完整,severity:4,recurrent:5,title:牛人专线牛人新品右侧黑色显示国家名称椭圆界面错误,report_id:10010000035308,create_time_millis:1542361961020,description:最下面的空白框点不动;且在鼠标放在其他黑色椭圆显示为小手样式,在空白框显示无变化,为鼠标箭头,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542449095199/1542449095199_BYE8ST}9A2)TJYV4{�K6A.jpg,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+serialVersionUID:null,id:10010000035332,case_take_id:1490-2614,bug_category:用户体验,severity:2,recurrent:5,title:牛人新品中点左侧抢购按钮右侧无字符部分无,report_id:10010000035311,create_time_millis:1542359414630,description:进入牛人新品后点击左侧按钮无字符部分无反应,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446029853/1542446029853_c4bb825350776f838c584e8697d2f08.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:10.0,
+
+10:39:05.833 [http-nio-8090-exec-4] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:,bug_category:不正常退出,severity:2,recurrent:0,title:,report_id:,create_time_millis:1619750345826,description:,img_url:,bug_page:,case_id:,
+similarJson:serialVersionUID:null,id:10010000035339,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品中右侧地点选择出选项,report_id:10010000035311,create_time_millis:1542359646120,description:进入牛人新品后发现右侧地点选择出现为空的选项,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446291204/1542446291204_286235131c8b1f9a40040f69c005f2e.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035335,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品标题错误,report_id:10010000035313,create_time_millis:1542359513840,description:1、点击“牛人新品”按钮
+2、查看窗口文字标题
+实际结果:窗口文字标题为“牛新品---2”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446308310/1542446308310_2.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035332,case_take_id:1490-2614,bug_category:用户体验,severity:2,recurrent:5,title:牛人新品中点左侧抢购按钮右侧无字符部分无,report_id:10010000035311,create_time_millis:1542359414630,description:进入牛人新品后点击左侧按钮无字符部分无反应,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446029853/1542446029853_c4bb825350776f838c584e8697d2f08.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035382,case_take_id:1490-2614,bug_category:用户体验,severity:2,recurrent:5,title:牛人新品里右侧悬浮栏最后空白悬浮栏会表示选择字,report_id:10010000035342,create_time_millis:1542361001990,description:点击“跟团游”--“牛人专线“--找到”热门目的地“,点击”牛人新品“,进入牛人新品往下拉页面右侧会出现悬浮栏,双击最后一个空白悬浮栏,会选择上一悬浮栏”欧美“二字。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542448068237/1542448068237_微信图片_20181117174650.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035327,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛新品ui界面缺少元素,report_id:10010000035310,create_time_millis:1542359282350,description:页面右侧导航栏缺少相应元素,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542445764239/1542445764239_牛新品.PNG,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035503,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:页面显示缺陷,report_id:10010000035330,create_time_millis:1542368553320,description:在右侧栏中页面显示有缺陷,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542455126947/1542455126947_牛人新品.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+
+10:39:08.216 [http-nio-8090-exec-5] INFO  e.n.s.RecommendService - userJson:serialVersionUID:null,id:null,case_take_id:,bug_category:不正常退出,severity:2,recurrent:2,title:,report_id:,create_time_millis:1619750348210,description:,img_url:,bug_page:,case_id:,
+similarJson:serialVersionUID:null,id:10010000035339,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品中右侧地点选择出选项,report_id:10010000035311,create_time_millis:1542359646120,description:进入牛人新品后发现右侧地点选择出现为空的选项,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446291204/1542446291204_286235131c8b1f9a40040f69c005f2e.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035335,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛人新品标题错误,report_id:10010000035313,create_time_millis:1542359513840,description:1、点击“牛人新品”按钮
+2、查看窗口文字标题
+实际结果:窗口文字标题为“牛新品---2”,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446308310/1542446308310_2.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035332,case_take_id:1490-2614,bug_category:用户体验,severity:2,recurrent:5,title:牛人新品中点左侧抢购按钮右侧无字符部分无,report_id:10010000035311,create_time_millis:1542359414630,description:进入牛人新品后点击左侧按钮无字符部分无反应,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542446029853/1542446029853_c4bb825350776f838c584e8697d2f08.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035382,case_take_id:1490-2614,bug_category:用户体验,severity:2,recurrent:5,title:牛人新品里右侧悬浮栏最后空白悬浮栏会表示选择字,report_id:10010000035342,create_time_millis:1542361001990,description:点击“跟团游”--“牛人专线“--找到”热门目的地“,点击”牛人新品“,进入牛人新品往下拉页面右侧会出现悬浮栏,双击最后一个空白悬浮栏,会选择上一悬浮栏”欧美“二字。,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542448068237/1542448068237_微信图片_20181117174650.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035327,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:牛新品ui界面缺少元素,report_id:10010000035310,create_time_millis:1542359282350,description:页面右侧导航栏缺少相应元素,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542445764239/1542445764239_牛新品.PNG,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+serialVersionUID:null,id:10010000035503,case_take_id:1490-2614,bug_category:页面布局缺陷,severity:2,recurrent:5,title:页面显示缺陷,report_id:10010000035330,create_time_millis:1542368553320,description:在右侧栏中页面显示有缺陷,img_url:http://mooctest-site.oss-cn-shanghai.aliyuncs.com/app/1542455126947/1542455126947_牛人新品.png,bug_page:牛人专线-热门目的地-牛人新品,case_id:1490,score:15.0,
+

+ 10 - 2
src/main/java/edu/nju/controller/AnalyzeController.java

@@ -28,6 +28,9 @@ import org.springframework.web.bind.annotation.*;
 import edu.nju.service.AnalyzeService;
 import edu.nju.service.ReportService;
 
+/**
+ * 分析接口 /analyze
+ */
 @Controller
 @RequestMapping(value = "/analyze")
 @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
@@ -299,8 +302,13 @@ public class AnalyzeController {
 			e.printStackTrace();
 		}
 	}
-	
-	//获取路径信息
+
+	/**
+	 * 获取路径信息 /path
+	 * @param case_take_id 案例-任务id
+	 * @param report_id 报告id
+	 * @param response
+	 */
 	@RequestMapping(value = "/path")
 	@ResponseBody
 	public void getUserPath(String case_take_id, String report_id, HttpServletResponse response) {

+ 22 - 14
src/main/java/edu/nju/controller/ExtraController.java

@@ -37,7 +37,7 @@ public class ExtraController {
 	ExtraService extraService;
 
 	/**
-	 * 上传测试报告   /uploadReport
+	 * 上传测试报告   /uploadReport  返回测试报告id
 	 * @param case_id   用例id
 	 * @param task_id   任务id
 	 * @param case_take_id  用例-任务id
@@ -71,16 +71,16 @@ public class ExtraController {
 	}
 
 	/**
-	 * 更新测试报告   /updateReport
-	 * @param report_id
-	 * @param case_id
-	 * @param task_id
-	 * @param case_take_id
-	 * @param worker_id
-	 * @param name
-	 * @param device_model
-	 * @param device_brand
-	 * @param device_os
+	 * 更新测试报告   /updateReport   只返回200或500
+	 * @param report_id 报告id
+	 * @param case_id   用例id
+	 * @param task_id   任务id
+	 * @param case_take_id  用例-任务id
+	 * @param worker_id 人员id
+	 * @param name  报告名称
+	 * @param device_model  设备品牌
+	 * @param device_brand  设备名称
+	 * @param device_os 操作系统
 	 * @param script_location
 	 * @param report_location
 	 * @param log_location
@@ -106,8 +106,12 @@ public class ExtraController {
 			e.printStackTrace();
 		}
 	}
-	
-	//获取测试报告
+
+	/**
+	 * 获取测试报告 /getReport
+	 * @param report_id 报告id
+	 * @param response
+	 */
 	@RequestMapping(value = "/getReport")
 	@ResponseBody
 	public void getReport(String report_id, HttpServletResponse response) {
@@ -414,6 +418,10 @@ public class ExtraController {
 	/**
 	 * 上传测试用例   /uploadTestCase
 	 * @param report_id 报告id
+	 * @param name  用例名称
+	 * @param front 前置条件
+	 * @param behind    测试步骤
+	 * @param description   预期结果
 	 * @param if_execute    是否执行
 	 * @param if_bug    是否是bug
 	 * @param response
@@ -462,7 +470,7 @@ public class ExtraController {
 	}
 
 	/**
-	 * 更新测试用例   /updateTestCase
+	 * 更新测试用例   /updateTestCase 返回200或500
 	 * @param id    用例id
 	 * @param report_id 报告id
 	 * @param name  用例名称

+ 13 - 2
src/main/java/edu/nju/controller/OssController.java

@@ -11,6 +11,9 @@ import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 
+/**
+ * /oss oss相关操作
+ */
 @Controller
 @RequestMapping(value = "/oss")
 @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
@@ -19,7 +22,11 @@ public class OssController {
     @Autowired
     OssService oservice;
 
-    @RequestMapping(value = "/ossConf")
+    /**
+     * /ossConf  获取oss必要的信息,秘钥等
+     * @param response
+     */
+    @GetMapping(value = "/ossConf")
     @ResponseBody
     public void getOssConf(HttpServletResponse response) {
         try {
@@ -33,7 +40,11 @@ public class OssController {
         }
     }
 
-    @RequestMapping(value = "/featureConf")
+    /**
+     * /featureConf 获取信息
+     * @param response
+     */
+    @GetMapping(value = "/featureConf")
     @ResponseBody
     public void getFeatureConf(HttpServletResponse response) {
         try {

+ 22 - 10
src/main/java/edu/nju/controller/RecommendController.java

@@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
@@ -24,6 +25,9 @@ import edu.nju.entities.BugMirror;
 
 import java.util.Map.Entry;
 
+/**
+ * 推荐接口相关 /rec  RecommendController
+ */
 @Controller
 @RequestMapping(value = "/rec")
 @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
@@ -44,13 +48,16 @@ public class RecommendController {
 	@Autowired
 	AnalyzeService analyzeService;
 
-	
+
 	/**
-	 * 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
-	 * @param case_take_id
-	 * @return 该题目下排完序的BugMirror类的列表
+	 * /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
+	 * @param case_take_id 案例-任务id
+	 * @param report_id 报告id
+	 * @param session
+	 * @param response
+	 * @return 该题目下排完序的BugMirror类的推荐列表
 	 */
-	@RequestMapping(value = "/getList")
+	@GetMapping(value = "/getList")
 	@ResponseBody
 	public void getList(String case_take_id, String report_id, HttpSession session, HttpServletResponse response) {
 		try {
@@ -115,12 +122,17 @@ public class RecommendController {
 			e.printStackTrace();
 		}
 	}
-	
+
 	/**
-	 * 用户编辑bug时推荐相似bug
-	 * 用户点击六个类别之后,都使用该接口
-	 * @param type("category", "severity", "recurrent", "page1", "page2", "page3"), content
-	 * @return List<BugMirror>
+	 * /recommend 用户编辑bug时推荐相似bug
+	 * 用户点击六个类别之后,都使用该接口,返回推荐列表
+	 * @param case_take_id 案例-任务id
+	 * @param type  类型("category", "severity", "recurrent", "page1", "page2", "page3")
+	 * @param content   内容,即选择框中的内容
+	 * @param session
+	 * @param response
+	 * * @param type("category", "severity", "recurrent", "page1", "page2", "page3"), content
+	 * 	 * @return List<BugMirror>
 	 */
 	@RequestMapping(value = "/recommend")
 	@ResponseBody

+ 21 - 4
src/main/java/edu/nju/controller/ReportController.java

@@ -14,6 +14,7 @@ import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
@@ -22,6 +23,9 @@ import edu.nju.service.DotService;
 import edu.nju.service.GuideService;
 import edu.nju.service.ReportService;
 
+/**
+ * 报告相关 /report
+ */
 @Controller
 @RequestMapping(value = "/report")
 @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
@@ -157,8 +161,15 @@ public class ReportController {
 			e.printStackTrace();
 		}
 	}
-	
-	@RequestMapping(value = "/pageRec")
+
+	/**
+	 * 路径页面推荐 /pageRec
+	 * @param case_take_id
+	 * @param report_id
+	 * @param session
+	 * @param response
+	 */
+	@GetMapping(value = "/pageRec")
 	@ResponseBody
 	public void pageRec(String case_take_id, String report_id, HttpSession session, HttpServletResponse response) {
 		try {
@@ -180,8 +191,14 @@ public class ReportController {
 			e.printStackTrace();
 		}
 	}
-	
-	@RequestMapping(value = "/bugRec")
+
+	/**
+	 * bug 推荐 /bugRec
+	 * @param case_take_id
+	 * @param report_id
+	 * @param response
+	 */
+	@GetMapping(value = "/bugRec")
 	@ResponseBody
 	public void bugRec(String case_take_id, String report_id, HttpServletResponse response) {
 		try {

+ 21 - 2
src/main/java/edu/nju/controller/UploadController.java

@@ -17,6 +17,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import edu.nju.service.CTBService;
 import edu.nju.service.SaveService;
 
+/**
+ * 上传 /upload
+ */
 @Controller
 @RequestMapping(value = "/upload")
 @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
@@ -30,8 +33,24 @@ public class UploadController {
 
 	@Autowired
 	BlockChainAspect blockChainAspect;
-	
-	//上传新的Bug报告
+
+	/**
+	 * 上传新的Bug报告    /submit  返回具体bug报告的id
+	 * @param useCase   用例id
+	 * @param case_take_id  案例-任务id
+	 * @param bug_category  bug分类
+	 * @param description   写的描述信息
+	 * @param img_url   图片路径,通过逗号分隔
+	 * @param severity  严重等级
+	 * @param recurrent 复现程度
+	 * @param title     填写的bug标题
+	 * @param report_id 报告id
+	 * @param parent    默认为null 父报告
+	 * @param page  页面信息  一级页面-二级页面-三级页面
+	 * @param case_id   案例id
+	 * @param worker_id 人员id
+	 * @param response
+	 */
 	@RequestMapping(value = "/submit", method = RequestMethod.POST)
 	@ResponseBody
 	public void submit(String useCase, String case_take_id, String bug_category, String description, String img_url, String severity, String recurrent, String title, String report_id, String parent, String page, String case_id, String worker_id, HttpServletResponse response) {

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
src/main/resources/apidoc/V1.0/.cache.json


+ 81 - 133
src/main/resources/apidoc/V1.0/apidoc.log

@@ -1,214 +1,162 @@
-四月 28, 2021 11:54:27 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:34 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find java src paths:  [/Users/guochao/Desktop/project/crowdsource-backend/src/main/java/]
-四月 28, 2021 11:54:27 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:34 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: project type not set, try to figure out...
-四月 28, 2021 11:54:27 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:34 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start find controllers in path : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : DeleteController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReviewJobController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReviewAnalyzeController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ExtraController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : RecommendController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ExportController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : AnalyzeController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : AnnotationController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : DataController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReviewController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : UploadController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : HistoryController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : GraphController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : RelationController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : OAuthController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : OssController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReportController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : NodeController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : ReviewPaperController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: find controller file : CrowdsourcingToReviewController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : DeleteController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : DeleteController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReviewJobController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReviewJobController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReviewAnalyzeController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReviewAnalyzeController.java
-四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:35 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ExtraController.java
-四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:37 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ExtraController.java
-四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:37 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : RecommendController.java
-四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : RecommendController.java
-四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ExportController.java
-四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ExportController.java
-四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : AnalyzeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : AnalyzeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : AnnotationController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : AnnotationController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : DataController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : DataController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReviewController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReviewController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:38 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : UploadController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : UploadController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : HistoryController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : HistoryController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : GraphController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : GraphController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : RelationController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : RelationController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : OAuthController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : OAuthController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : OssController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : OssController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReportController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReportController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : NodeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : NodeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : ReviewPaperController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : ReviewPaperController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to parse controller file : CrowdsourcingToReviewController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to parse controller file : CrowdsourcingToReviewController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: generate api docs start...
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DeleteController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DeleteController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewJobController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewJobController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewAnalyzeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewAnalyzeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExtraController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExtraController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RecommendController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RecommendController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExportController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExportController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnalyzeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnalyzeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnnotationController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnnotationController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+四月 30, 2021 11:04:39 上午 io.github.yedaxia.apidocs.LogUtils info
 信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DataController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DataController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/UploadController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/UploadController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/HistoryController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/HistoryController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/GraphController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/GraphController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RelationController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RelationController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OAuthController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OAuthController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OssController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OssController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReportController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReportController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/NodeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/NodeController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewPaperController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewPaperController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/CrowdsourcingToReviewController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/CrowdsourcingToReviewController.java
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: generate index start !!!
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: generate index done !!!
-四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
-信息: info: generate api docs done !!!

+ 121 - 100
src/main/resources/apidoc/V1.0/edu_nju_controller_AnalyzeController.html

@@ -3,7 +3,7 @@
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <title>AnalyzeController</title>
+    <title>分析接口 /analyze</title>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse in " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -894,13 +894,34 @@
                         </div>
                         <hr>
                         <div class="action-item">
-<h2 id="getUserPath"><a href="#">getUserPath </a></h2>
+<h2 id="getUserPath"><a href="#">获取路径信息 /path </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/analyze/path</code>
         <span class="label label-default">GET</span>
         <span class="label label-default">POST</span>
 </p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>案例-任务id</td>
+                    </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>报告id</td>
+                    </tr>
+        </table>
     <p><strong>返回结果</strong></p>
     <pre class="prettyprint lang-json">{}</pre>
                         </div>
@@ -1240,64 +1261,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -1313,15 +1334,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -1345,19 +1366,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_AnnotationController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -726,64 +726,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -799,15 +799,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -831,19 +831,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_CrowdsourcingToReviewController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -715,64 +715,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -788,15 +788,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -820,19 +820,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_DataController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -863,64 +863,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -936,15 +936,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -968,19 +968,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_DeleteController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -739,64 +739,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -812,15 +812,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -844,19 +844,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_ExportController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -703,64 +703,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -776,15 +776,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -808,19 +808,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 151 - 112
src/main/resources/apidoc/V1.0/edu_nju_controller_ExtraController.html

@@ -3,7 +3,7 @@
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <title>额外接口/extra</title>
+    <title>上传用例报告相关接口/extra</title>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse in " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -663,7 +663,7 @@
                 <div class="page-inner">
                     <div class="action-list">
                         <div class="action-item">
-<h2 id="uploadReport"><a href="#">上传测试报告   /uploadReport </a></h2>
+<h2 id="uploadReport"><a href="#">上传测试报告   /uploadReport  返回测试报告id </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/extra/uploadReport</code>
@@ -749,7 +749,7 @@
                         </div>
                         <hr>
                         <div class="action-item">
-<h2 id="updateReport"><a href="#">更新测试报告   /updateReport </a></h2>
+<h2 id="updateReport"><a href="#">更新测试报告   /updateReport   只返回200或500 </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/extra/updateReport</code>
@@ -767,55 +767,55 @@
                         <td>report_id</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>报告id</td>
                     </tr>
                     <tr>
                         <td>case_id</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>用例id</td>
                     </tr>
                     <tr>
                         <td>task_id</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>任务id</td>
                     </tr>
                     <tr>
                         <td>case_take_id</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>用例-任务id</td>
                     </tr>
                     <tr>
                         <td>worker_id</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>人员id</td>
                     </tr>
                     <tr>
                         <td>name</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>报告名称</td>
                     </tr>
                     <tr>
                         <td>device_model</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>设备品牌</td>
                     </tr>
                     <tr>
                         <td>device_brand</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>设备名称</td>
                     </tr>
                     <tr>
                         <td>device_os</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>操作系统</td>
                     </tr>
                     <tr>
                         <td>script_location</td>
@@ -841,13 +841,28 @@
                         </div>
                         <hr>
                         <div class="action-item">
-<h2 id="getReport"><a href="#">getReport </a></h2>
+<h2 id="getReport"><a href="#">获取测试报告 /getReport </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/extra/getReport</code>
         <span class="label label-default">GET</span>
         <span class="label label-default">POST</span>
 </p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>报告id</td>
+                    </tr>
+        </table>
     <p><strong>返回结果</strong></p>
     <pre class="prettyprint lang-json">{}</pre>
                         </div>
@@ -1140,6 +1155,30 @@
                         <td>报告id</td>
                     </tr>
                     <tr>
+                        <td>name</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>用例名称</td>
+                    </tr>
+                    <tr>
+                        <td>front</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>前置条件</td>
+                    </tr>
+                    <tr>
+                        <td>behind</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>测试步骤</td>
+                    </tr>
+                    <tr>
+                        <td>description</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>预期结果</td>
+                    </tr>
+                    <tr>
                         <td>if_execute</td>
                         <td>string</td>
                         <td>否</td>
@@ -1169,7 +1208,7 @@
                         </div>
                         <hr>
                         <div class="action-item">
-<h2 id="updateTestCase"><a href="#">更新测试用例   /updateTestCase </a></h2>
+<h2 id="updateTestCase"><a href="#">更新测试用例   /updateTestCase 返回200或500 </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/extra/updateTestCase</code>
@@ -1288,64 +1327,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -1361,15 +1400,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -1393,19 +1432,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_GraphController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -775,64 +775,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -848,15 +848,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -880,19 +880,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_HistoryController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -823,64 +823,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -896,15 +896,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -928,19 +928,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_NodeController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -763,64 +763,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -836,15 +836,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -868,19 +868,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_OAuthController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -727,64 +727,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -800,15 +800,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -832,19 +832,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 101 - 103
src/main/resources/apidoc/V1.0/edu_nju_controller_OssController.html

@@ -3,7 +3,7 @@
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <title>OssController</title>
+    <title>/oss oss相关操作</title>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse in " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -663,24 +663,22 @@
                 <div class="page-inner">
                     <div class="action-list">
                         <div class="action-item">
-<h2 id="getOssConf"><a href="#">getOssConf </a></h2>
+<h2 id="getOssConf"><a href="#">/ossConf  获取oss必要的信息,秘钥等 </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/oss/ossConf</code>
         <span class="label label-default">GET</span>
-        <span class="label label-default">POST</span>
 </p>
     <p><strong>返回结果</strong></p>
     <pre class="prettyprint lang-json">{}</pre>
                         </div>
                         <hr>
                         <div class="action-item">
-<h2 id="getFeatureConf"><a href="#">getFeatureConf </a></h2>
+<h2 id="getFeatureConf"><a href="#">/featureConf 获取信息 </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/oss/featureConf</code>
         <span class="label label-default">GET</span>
-        <span class="label label-default">POST</span>
 </p>
     <p><strong>返回结果</strong></p>
     <pre class="prettyprint lang-json">{}</pre>
@@ -726,64 +724,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -799,15 +797,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -831,19 +829,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 282 - 79
src/main/resources/apidoc/V1.0/edu_nju_controller_RecommendController.html

@@ -3,7 +3,7 @@
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <title>RecommendController</title>
+    <title>推荐接口相关 /rec  RecommendController</title>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse in " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -663,12 +663,11 @@
                 <div class="page-inner">
                     <div class="action-list">
                         <div class="action-item">
-<h2 id="getList"><a href="#">每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作 </a></h2>
+<h2 id="getList"><a href="#">/getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表 </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/rec/getList</code>
         <span class="label label-default">GET</span>
-        <span class="label label-default">POST</span>
 </p>
         <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
         <table class="table table-bordered">
@@ -682,7 +681,13 @@
                         <td>case_take_id</td>
                         <td>string</td>
                         <td>否</td>
-                        <td></td>
+                        <td>案例-任务id</td>
+                    </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>报告id</td>
                     </tr>
         </table>
     <p><strong>返回结果</strong></p>
@@ -717,8 +722,8 @@
                         </div>
                         <hr>
                         <div class="action-item">
-<h2 id="recommend"><a href="#">用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口 </a></h2>
+<h2 id="recommend"><a href="#">/recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表 </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/rec/recommend</code>
@@ -734,60 +739,258 @@
                 <th>描述</th>
             </tr>
                     <tr>
-                        <td>type("category",</td>
-                        <td>FreeMarker template error (DEBUG mode; use RETHROW in production!):
-The following has evaluated to null or missing:
-==> paramNode.type  [in template "api-request-node.html.ftl" at line 41, column 31]
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>案例-任务id</td>
+                    </tr>
+                    <tr>
+                        <td>type</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>类型("category", "severity", "recurrent", "page1", "page2", "page3")</td>
+                    </tr>
+                    <tr>
+                        <td>content</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>内容,即选择框中的内容</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="diversityRec"><a href="#">diversityRec </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/rec/diversity</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getTitle"><a href="#">getTitle </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/rec/title</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="fork"><a href="#">fork </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/rec/fork</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
 
-----
-Tip: It's the step after the last dot that caused this error, not those before it.
-----
-Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
-----
 
-----
-FTL stack trace ("~" means nesting-related):
-	- Failed at: ${paramNode.type}  [in template "api-request-node.html.ftl" at line 41, column 29]
-	- Reached through: #include "api-request-node.html.ftl"  [in template "api-controller.html.ftl" at line 70, column 29]
-----
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
 
-Java stack trace (for programmers):
-----
-freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
-	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
-	at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:467)
-	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:389)
-	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:358)
-	at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
-	at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
-	at freemarker.core.Environment.visit(Environment.java:330)
-	at freemarker.core.Environment.visit(Environment.java:372)
-	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
-	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
-	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
-	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
-	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
-	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
-	at freemarker.core.Environment.visit(Environment.java:330)
-	at freemarker.core.Environment.visit(Environment.java:336)
-	at freemarker.core.Environment.visit(Environment.java:336)
-	at freemarker.core.Environment.visit(Environment.java:336)
-	at freemarker.core.Environment.include(Environment.java:2582)
-	at freemarker.core.Include.accept(Include.java:171)
-	at freemarker.core.Environment.visit(Environment.java:330)
-	at freemarker.core.Environment.visit(Environment.java:372)
-	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
-	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
-	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
-	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
-	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
-	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
-	at freemarker.core.Environment.visit(Environment.java:330)
-	at freemarker.core.Environment.visit(Environment.java:336)
-	at freemarker.core.Environment.process(Environment.java:309)
-	at freemarker.template.Template.process(Template.java:384)
-	at io.github.yedaxia.apidocs.doc.HtmlControllerDocBuilder.buildDoc(HtmlControllerDocBuilder.java:53)
-	at io.github.yedaxia.apidocs.doc.AbsDocGenerator.generateControllersDocs(AbsDocGenerator.java:66)
-	at io.github.yedaxia.apidocs.doc.AbsDocGenerator.generateDocs(AbsDocGenerator.java:35)
-	at io.github.yedaxia.apidocs.Docs.buildHtmlDocs(Docs.java:30)
-	at edu.nju.BugApplication.main(BugApplication.java:30)
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_RelationController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -778,64 +778,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -851,15 +851,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -883,19 +883,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 143 - 103
src/main/resources/apidoc/V1.0/edu_nju_controller_ReportController.html

@@ -3,7 +3,7 @@
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <title>ReportController</title>
+    <title>报告相关 /report</title>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse in " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -759,25 +759,65 @@
                         </div>
                         <hr>
                         <div class="action-item">
-<h2 id="pageRec"><a href="#">pageRec </a></h2>
+<h2 id="pageRec"><a href="#">路径页面推荐 /pageRec </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/report/pageRec</code>
         <span class="label label-default">GET</span>
-        <span class="label label-default">POST</span>
 </p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td></td>
+                    </tr>
+        </table>
     <p><strong>返回结果</strong></p>
     <pre class="prettyprint lang-json">{}</pre>
                         </div>
                         <hr>
                         <div class="action-item">
-<h2 id="bugRec"><a href="#">bugRec </a></h2>
+<h2 id="bugRec"><a href="#">bug 推荐 /bugRec </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/report/bugRec</code>
         <span class="label label-default">GET</span>
-        <span class="label label-default">POST</span>
 </p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td></td>
+                    </tr>
+        </table>
     <p><strong>返回结果</strong></p>
     <pre class="prettyprint lang-json">{}</pre>
                         </div>
@@ -811,64 +851,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -884,15 +924,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -916,19 +956,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewAnalyzeController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -736,64 +736,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -809,15 +809,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -841,19 +841,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -808,64 +808,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -881,15 +881,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -913,19 +913,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewJobController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -794,64 +794,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -867,15 +867,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -899,19 +899,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 98 - 98
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewPaperController.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -818,64 +818,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -891,15 +891,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -923,19 +923,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 187 - 100
src/main/resources/apidoc/V1.0/edu_nju_controller_UploadController.html

@@ -3,7 +3,7 @@
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <title>UploadController</title>
+    <title>上传 /upload</title>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse in " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -663,12 +663,99 @@
                 <div class="page-inner">
                     <div class="action-list">
                         <div class="action-item">
-<h2 id="submit"><a href="#">submit </a></h2>
+<h2 id="submit"><a href="#">上传新的Bug报告    /submit  返回具体bug报告的id </a></h2>
 <p><strong>请求URL</strong></p>
 <p>
     <code>/upload/submit</code>
         <span class="label label-default">POST</span>
 </p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>useCase</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>用例id</td>
+                    </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>案例-任务id</td>
+                    </tr>
+                    <tr>
+                        <td>bug_category</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>bug分类</td>
+                    </tr>
+                    <tr>
+                        <td>description</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>写的描述信息</td>
+                    </tr>
+                    <tr>
+                        <td>img_url</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>图片路径,通过逗号分隔</td>
+                    </tr>
+                    <tr>
+                        <td>severity</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>严重等级</td>
+                    </tr>
+                    <tr>
+                        <td>recurrent</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>复现程度</td>
+                    </tr>
+                    <tr>
+                        <td>title</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>填写的bug标题</td>
+                    </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>报告id</td>
+                    </tr>
+                    <tr>
+                        <td>parent</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>默认为null 父报告</td>
+                    </tr>
+                    <tr>
+                        <td>page</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>页面信息  一级页面-二级页面-三级页面</td>
+                    </tr>
+                    <tr>
+                        <td>case_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>案例id</td>
+                    </tr>
+                    <tr>
+                        <td>worker_id</td>
+                        <td>string</td>
+                        <td>否</td>
+                        <td>人员id</td>
+                    </tr>
+        </table>
     <p><strong>返回结果</strong></p>
     <pre class="prettyprint lang-json">{}</pre>
                         </div>
@@ -796,64 +883,64 @@
             {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
             {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
             {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-            {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
             {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
             {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
             {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
             {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -869,15 +956,15 @@
             {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
             {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
             {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
             {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
             {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
             {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -901,19 +988,19 @@
             {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
             {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
             {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
             {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
             {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
             {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 104 - 104
src/main/resources/apidoc/V1.0/index.html

@@ -111,17 +111,17 @@
         <div class="panel">
             <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
-                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+                <i class="glyphicon glyphicon-align-justify"></i> 上传用例报告相关接口/extra
             </div>
             <div id="collapse3" class="collapse " aria-labelledby="heading3">
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
-                        上传测试报告   /uploadReport
+                        上传测试报告   /uploadReport  返回测试报告id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
-                        更新测试报告   /updateReport
+                        更新测试报告   /updateReport   只返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
-                        getReport
+                        获取测试报告 /getReport
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
                         findPage
@@ -154,7 +154,7 @@
                         getTestCase
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
-                        更新测试用例   /updateTestCase
+                        更新测试用例   /updateTestCase 返回200或500
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
                         updateTask
@@ -170,18 +170,18 @@
         <div class="panel">
             <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
-                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+                <i class="glyphicon glyphicon-align-justify"></i> 推荐接口相关 /rec  RecommendController
             </div>
             <div id="collapse4" class="collapse " aria-labelledby="heading4">
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
-                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                        /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
                         用户点击查看一个Bug的详细信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
-                        用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+                        /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
                         diversityRec
@@ -208,7 +208,7 @@
         <div class="panel">
             <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
-                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+                <i class="glyphicon glyphicon-align-justify"></i> 分析接口 /analyze
             </div>
             <div id="collapse6" class="collapse " aria-labelledby="heading6">
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
@@ -257,7 +257,7 @@
                         getDiff
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
-                        getUserPath
+                        获取路径信息 /path
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
                         getAfterSimilarBug
@@ -384,11 +384,11 @@
         <div class="panel">
             <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
-                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+                <i class="glyphicon glyphicon-align-justify"></i> 上传 /upload
             </div>
             <div id="collapse10" class="collapse " aria-labelledby="heading10">
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
-                        submit
+                        上传新的Bug报告    /submit  返回具体bug报告的id
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
                         good
@@ -520,14 +520,14 @@
         <div class="panel">
             <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
-                <i class="glyphicon glyphicon-align-justify"></i> OssController
+                <i class="glyphicon glyphicon-align-justify"></i> /oss oss相关操作
             </div>
             <div id="collapse15" class="collapse " aria-labelledby="heading15">
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
-                        getOssConf
+                        /ossConf  获取oss必要的信息,秘钥等
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
-                        getFeatureConf
+                        /featureConf 获取信息
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
                         ossUpload
@@ -537,7 +537,7 @@
         <div class="panel">
             <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
                  aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
-                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+                <i class="glyphicon glyphicon-align-justify"></i> 报告相关 /report
             </div>
             <div id="collapse16" class="collapse " aria-labelledby="heading16">
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
@@ -565,10 +565,10 @@
                         userRecord
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
-                        pageRec
+                        路径页面推荐 /pageRec
                     </a>
                     <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
-                        bugRec
+                        bug 推荐 /bugRec
                     </a>
             </div>
         </div>
@@ -668,20 +668,20 @@
                                 <a href="edu_nju_controller_DeleteController.html" class="list-group-item">DeleteController</a>
                                 <a href="edu_nju_controller_ReviewJobController.html" class="list-group-item">ReviewJobController</a>
                                 <a href="edu_nju_controller_ReviewAnalyzeController.html" class="list-group-item">ReviewAnalyzeController</a>
-                                <a href="edu_nju_controller_ExtraController.html" class="list-group-item">额外接口/extra</a>
-                                <a href="edu_nju_controller_RecommendController.html" class="list-group-item">RecommendController</a>
+                                <a href="edu_nju_controller_ExtraController.html" class="list-group-item">上传用例报告相关接口/extra</a>
+                                <a href="edu_nju_controller_RecommendController.html" class="list-group-item">推荐接口相关 /rec  RecommendController</a>
                                 <a href="edu_nju_controller_ExportController.html" class="list-group-item">ExportController</a>
-                                <a href="edu_nju_controller_AnalyzeController.html" class="list-group-item">AnalyzeController</a>
+                                <a href="edu_nju_controller_AnalyzeController.html" class="list-group-item">分析接口 /analyze</a>
                                 <a href="edu_nju_controller_AnnotationController.html" class="list-group-item">AnnotationController</a>
                                 <a href="edu_nju_controller_DataController.html" class="list-group-item">DataController</a>
                                 <a href="edu_nju_controller_ReviewController.html" class="list-group-item">ReviewController</a>
-                                <a href="edu_nju_controller_UploadController.html" class="list-group-item">UploadController</a>
+                                <a href="edu_nju_controller_UploadController.html" class="list-group-item">上传 /upload</a>
                                 <a href="edu_nju_controller_HistoryController.html" class="list-group-item">HistoryController</a>
                                 <a href="edu_nju_controller_GraphController.html" class="list-group-item">GraphController</a>
                                 <a href="edu_nju_controller_RelationController.html" class="list-group-item">RelationController</a>
                                 <a href="edu_nju_controller_OAuthController.html" class="list-group-item">OAuthController</a>
-                                <a href="edu_nju_controller_OssController.html" class="list-group-item">OssController</a>
-                                <a href="edu_nju_controller_ReportController.html" class="list-group-item">ReportController</a>
+                                <a href="edu_nju_controller_OssController.html" class="list-group-item">/oss oss相关操作</a>
+                                <a href="edu_nju_controller_ReportController.html" class="list-group-item">报告相关 /report</a>
                                 <a href="edu_nju_controller_NodeController.html" class="list-group-item">NodeController</a>
                                 <a href="edu_nju_controller_ReviewPaperController.html" class="list-group-item">ReviewPaperController</a>
                                 <a href="edu_nju_controller_CrowdsourcingToReviewController.html" class="list-group-item">CrowdsourcingToReviewController</a>
@@ -715,64 +715,64 @@
         {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
         {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
         {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
-        {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
-        {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
-        {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
-        {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
-        {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
-        {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
-        {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
-        {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
-        {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
-        {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
-        {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
-        {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
-        {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
-        {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
-        {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
-        {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-        {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
-        {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
-        {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
-        {name: 'RecommendController.用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
-        {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
-        {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
-        {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+        {name: '上传用例报告相关接口/extra.上传测试报告   /uploadReport  返回测试报告id', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+        {name: '上传用例报告相关接口/extra.更新测试报告   /updateReport   只返回200或500', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+        {name: '上传用例报告相关接口/extra.获取测试报告 /getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+        {name: '上传用例报告相关接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+        {name: '上传用例报告相关接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+        {name: '上传用例报告相关接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+        {name: '上传用例报告相关接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+        {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+        {name: '上传用例报告相关接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+        {name: '上传用例报告相关接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+        {name: '上传用例报告相关接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+        {name: '上传用例报告相关接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+        {name: '上传用例报告相关接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+        {name: '上传用例报告相关接口/extra.更新测试用例   /updateTestCase 返回200或500', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+        {name: '上传用例报告相关接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+        {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+        {name: '上传用例报告相关接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+        {name: '推荐接口相关 /rec  RecommendController./getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#getList'},
+        {name: '推荐接口相关 /rec  RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+        {name: '推荐接口相关 /rec  RecommendController./recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表', url: 'edu_nju_controller_RecommendController.html#recommend'},
+        {name: '推荐接口相关 /rec  RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+        {name: '推荐接口相关 /rec  RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+        {name: '推荐接口相关 /rec  RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
         {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
-        {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
-        {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
-        {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
-        {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
-        {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
-        {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
-        {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
-        {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
-        {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
-        {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
-        {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
-        {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
-        {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
-        {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
-        {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
-        {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
-        {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
-        {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
-        {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
-        {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
-        {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
-        {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
-        {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
-        {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
-        {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
-        {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
-        {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
-        {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
-        {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
-        {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
-        {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
-        {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
-        {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+        {name: '分析接口 /analyze.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+        {name: '分析接口 /analyze.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+        {name: '分析接口 /analyze.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+        {name: '分析接口 /analyze.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+        {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+        {name: '分析接口 /analyze.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+        {name: '分析接口 /analyze.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+        {name: '分析接口 /analyze.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+        {name: '分析接口 /analyze.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+        {name: '分析接口 /analyze.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+        {name: '分析接口 /analyze.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+        {name: '分析接口 /analyze.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+        {name: '分析接口 /analyze.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+        {name: '分析接口 /analyze.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+        {name: '分析接口 /analyze.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+        {name: '分析接口 /analyze.获取路径信息 /path', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+        {name: '分析接口 /analyze.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+        {name: '分析接口 /analyze.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+        {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+        {name: '分析接口 /analyze.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+        {name: '分析接口 /analyze.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+        {name: '分析接口 /analyze.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+        {name: '分析接口 /analyze.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+        {name: '分析接口 /analyze.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+        {name: '分析接口 /analyze.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+        {name: '分析接口 /analyze.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+        {name: '分析接口 /analyze.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+        {name: '分析接口 /analyze.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+        {name: '分析接口 /analyze.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+        {name: '分析接口 /analyze.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+        {name: '分析接口 /analyze.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+        {name: '分析接口 /analyze.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+        {name: '分析接口 /analyze.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
         {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
         {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
         {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
@@ -788,15 +788,15 @@
         {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
         {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
         {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
-        {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
-        {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
-        {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
-        {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
-        {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
-        {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
-        {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
-        {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
-        {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+        {name: '上传 /upload.上传新的Bug报告    /submit  返回具体bug报告的id', url: 'edu_nju_controller_UploadController.html#submit'},
+        {name: '上传 /upload.good', url: 'edu_nju_controller_UploadController.html#good'},
+        {name: '上传 /upload.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+        {name: '上传 /upload.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+        {name: '上传 /upload.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+        {name: '上传 /upload.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+        {name: '上传 /upload.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+        {name: '上传 /upload.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+        {name: '上传 /upload.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
         {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
         {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
         {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
@@ -820,19 +820,19 @@
         {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
         {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
         {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
-        {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
-        {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
-        {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
-        {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
-        {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
-        {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
-        {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
-        {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
-        {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
-        {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
-        {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
-        {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
-        {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+        {name: '/oss oss相关操作./ossConf  获取oss必要的信息,秘钥等', url: 'edu_nju_controller_OssController.html#getOssConf'},
+        {name: '/oss oss相关操作./featureConf 获取信息', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+        {name: '/oss oss相关操作.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+        {name: '报告相关 /report.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+        {name: '报告相关 /report.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+        {name: '报告相关 /report.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+        {name: '报告相关 /report.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+        {name: '报告相关 /report.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+        {name: '报告相关 /report.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+        {name: '报告相关 /report.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+        {name: '报告相关 /report.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+        {name: '报告相关 /report.路径页面推荐 /pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+        {name: '报告相关 /report.bug 推荐 /bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
         {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
         {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
         {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},

+ 1878 - 75
src/main/resources/apidoc/V1.0/众测服务-V1.0-api-docs.md

@@ -230,8 +230,8 @@ string{}
 ```json
 string{}
 ```
-# 额外接口/extra
-## 上传测试报告   /uploadReport
+# 上传用例报告相关接口/extra
+## 上传测试报告   /uploadReport  返回测试报告id
 
 **
 
@@ -260,7 +260,7 @@ log_location|string|否|
 ```json
 {}
 ```
-## 更新测试报告   /updateReport
+## 更新测试报告   /updateReport   只返回200或500
 
 **
 
@@ -272,15 +272,15 @@ log_location|string|否|
 
 参数名|类型|必须|描述
 --:|:--:|:--:|:--
-report_id|string|否|
-case_id|string|否|
-task_id|string|否|
-case_take_id|string|否|
-worker_id|string|否|
-name|string|否|
-device_model|string|否|
-device_brand|string|否|
-device_os|string|否|
+report_id|string|否|报告id
+case_id|string|否|用例id
+task_id|string|否|任务id
+case_take_id|string|否|用例-任务id
+worker_id|string|否|人员id
+name|string|否|报告名称
+device_model|string|否|设备品牌
+device_brand|string|否|设备名称
+device_os|string|否|操作系统
 script_location|string|否|
 report_location|string|否|
 log_location|string|否|
@@ -290,7 +290,7 @@ log_location|string|否|
 ```json
 {}
 ```
-## getReport
+## 获取测试报告 /getReport
 
 **
 
@@ -298,6 +298,11 @@ log_location|string|否|
 
 /extra/getReport `GET` `POST` 
 
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+report_id|string|否|报告id
 
 **返回结果**
 
@@ -480,6 +485,10 @@ id|string|否|考试id
 参数名|类型|必须|描述
 --:|:--:|:--:|:--
 report_id|string|否|报告id
+name|string|否|用例名称
+front|string|否|前置条件
+behind|string|否|测试步骤
+description|string|否|预期结果
 if_execute|string|否|是否执行
 if_bug|string|否|是否是bug
 
@@ -502,7 +511,7 @@ if_bug|string|否|是否是bug
 ```json
 {}
 ```
-## 更新测试用例   /updateTestCase
+## 更新测试用例   /updateTestCase 返回200或500
 
 **
 
@@ -568,20 +577,21 @@ description|string|否|预期结果
 ```json
 string{}
 ```
-# RecommendController
-## 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+# 推荐接口相关 /rec  RecommendController
+## /getList 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作,返回推荐列表
 
 **
 
 **请求URL**
 
-/rec/getList `GET` `POST` 
+/rec/getList `GET` 
 
 **请求参数**
 
 参数名|类型|必须|描述
 --:|:--:|:--:|:--
-case_take_id|string|否|
+case_take_id|string|否|案例-任务id
+report_id|string|否|报告id
 
 **返回结果**
 
@@ -607,8 +617,8 @@ id|string|否|
 ```json
 {}
 ```
-## 用户编辑bug时推荐相似bug
-用户点击六个类别之后,都使用该接口
+## /recommend 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口,返回推荐列表
 
 **
 
@@ -620,58 +630,1851 @@ id|string|否|
 
 参数名|类型|必须|描述
 --:|:--:|:--:|:--
-type("category",|FreeMarker template error (DEBUG mode; use RETHROW in production!):
-The following has evaluated to null or missing:
-==> paramNode.type  [in template "api-doc.md.ftl" at line 28, column 21]
-
-----
-Tip: It's the step after the last dot that caused this error, not those before it.
-----
-Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
-----
-
-----
-FTL stack trace ("~" means nesting-related):
-	- Failed at: ${paramNode.type}  [in template "api-doc.md.ftl" at line 28, column 19]
-----
-
-Java stack trace (for programmers):
-----
-freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
-	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
-	at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:467)
-	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:389)
-	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:358)
-	at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
-	at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
-	at freemarker.core.Environment.visit(Environment.java:330)
-	at freemarker.core.Environment.visit(Environment.java:372)
-	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
-	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
-	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
-	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
-	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
-	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
-	at freemarker.core.Environment.visit(Environment.java:330)
-	at freemarker.core.Environment.visit(Environment.java:336)
-	at freemarker.core.Environment.visit(Environment.java:372)
-	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
-	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
-	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
-	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
-	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
-	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
-	at freemarker.core.Environment.visit(Environment.java:366)
-	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
-	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
-	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
-	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
-	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
-	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
-	at freemarker.core.Environment.visit(Environment.java:330)
-	at freemarker.core.Environment.visit(Environment.java:336)
-	at freemarker.core.Environment.process(Environment.java:309)
-	at freemarker.template.Template.process(Template.java:384)
-	at io.github.yedaxia.apidocs.plugin.markdown.MarkdownDocPlugin.execute(MarkdownDocPlugin.java:38)
-	at io.github.yedaxia.apidocs.Docs.buildHtmlDocs(Docs.java:38)
-	at edu.nju.BugApplication.main(BugApplication.java:30)
+case_take_id|string|否|案例-任务id
+type|string|否|类型("category", "severity", "recurrent", "page1", "page2", "page3")
+content|string|否|内容,即选择框中的内容
+
+**返回结果**
+
+```json
+{}
+```
+## diversityRec
+
+**
+
+**请求URL**
+
+/rec/diversity `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getTitle
+
+**
+
+**请求URL**
+
+/rec/title `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## fork
+
+**
+
+**请求URL**
+
+/rec/fork `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# ExportController
+## getValid
+
+**
+
+**请求URL**
+
+/export/exportBug `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# 分析接口 /analyze
+## getValid
+
+**
+
+**请求URL**
+
+/analyze/valid `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getValidByBugId
+
+**
+
+**请求URL**
+
+/analyze/validByBugId `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getBugDataVO
+
+**
+
+**请求URL**
+
+/analyze/bugData `GET` `POST` 
+
+
+**返回结果**
+
+```json
+[{
+	"bugId":"string",
+	"bugCategory":"string",
+	"severity":"string",
+	"bugCreateTime":"string",
+	"bugPage":"string",
+	"score":"int",
+	"parent":"string",
+	"children":"string[]",
+	"root":"string",
+	"goodNum":"int",
+	"badNum":"int",
+	"reportId":"string",
+	"workerId":"string"
+}]
+```
+## getThums
+
+**
+
+**请求URL**
+
+/analyze/thums `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## 47.99.140.117:9001/Bug/api/analyze/scores
+
+**
+
+**请求URL**
+
+/analyze/scores `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+case_take_id|string|否|caseId - taskId,示例1632-2927
+
+**返回结果**
+
+```json
+{}
+```
+## 47.99.140.117:9001/Bug/api/analyze/newScores
+
+**
+
+**请求URL**
+
+/analyze/newScores `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+case_take_id|string|否|caseId - taskId,示例1632-2927
+
+**返回结果**
+
+```json
+{}
+```
+## getUsers
+
+**
+
+**请求URL**
+
+/analyze/users `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getUserss
+
+**
+
+**请求URL**
+
+/analyze/workers `GET` `POST` 
+
+
+**返回结果**
+
+```json
+long[]
+```
+## getGrade
+
+**
+
+**请求URL**
+
+/analyze/grade `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## saveGrade
+
+**
+
+**请求URL**
+
+/analyze/save `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## saveSimiliarGrade
+
+**
+
+**请求URL**
+
+/analyze/saveSimiliar `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## saveGradeByWorker
+
+**
+
+**请求URL**
+
+/analyze/saveByWorker `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getDetail
+
+**
+
+**请求URL**
+
+/analyze/bugDetail `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getAllGrades
+
+**
+
+**请求URL**
+
+/analyze/allGrades `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getDiff
+
+**
+
+**请求URL**
+
+/analyze/diff `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## 获取路径信息 /path
+
+**
+
+**请求URL**
+
+/analyze/path `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+case_take_id|string|否|案例-任务id
+report_id|string|否|报告id
+
+**返回结果**
+
+```json
+{}
+```
+## getAfterSimilarBug
+
+**
+
+**请求URL**
+
+/analyze/afterSimilarBug `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## analyseExam
+
+**
+
+**请求URL**
+
+/analyze/analyseExam `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## todo 引进 guvva 来做缓存
+
+**
+
+**请求URL**
+
+/analyze/analysePeople `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+caseId|string|否|
+taskId|string|否|
+workId|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+## getAnalyseTaskToken
+
+**
+
+**请求URL**
+
+/analyze/analyse/getTaskToken `GET` `POST` 
+
+
+**返回结果**
+
+```json
+string{}
+```
+## analyseTask
+
+**
+
+**请求URL**
+
+/analyze/analyse/task `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## todo 引进 guvva 来做缓存
+
+**
+
+**请求URL**
+
+/analyze/analyse/people `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+workId|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+## getHistoricalData
+
+**
+
+**请求URL**
+
+/analyze/historicalData `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{
+	"reportNum":"int",
+	"scoreList":"double[] //各个报告的得分",
+	"totalScore":"double //报告总分",
+	"participateNum":"int //参加的和本次考试类型有关的众包测试次数",
+	"totalParticipateNum":"int //参加众包考试次数"
+}
+```
+## uploadTestReport
+
+**
+
+**请求URL**
+
+/analyze/uploadTestReportToBlockChain `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## analyseExam2
+
+**
+
+**请求URL**
+
+/analyze/analyseExam2 `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## analysePageCover
+
+**
+
+**请求URL**
+
+/analyze/analysePageCover `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## analyseBugInfo
+
+**
+
+**请求URL**
+
+/analyze/analyseBugInfo `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## analyseBugInfoByToken
+
+**
+
+**请求URL**
+
+/analyze/analyse/BugInfo `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## analyseBugSubmitInfo
+
+**
+
+**请求URL**
+
+/analyze/analyseBugSubmitInfo `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## analyseBugSubmitInfoByToken
+
+**
+
+**请求URL**
+
+/analyze/analyse/BugSubmitInfo `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## 根据token获取众测任务具体信息
+
+**
+
+**请求URL**
+
+/analyze/tokenToDetail `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+token|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+## 根据众测信息获取对应token
+
+**
+
+**请求URL**
+
+/analyze/detailToToken `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+examId|string|否|
+caseId|string|否|
+userId|string|否|
+beginTime|string|否|
+endTime|string|否|
+
+**返回结果**
+
+```json
+string{}
+```
+## crowdTestProgress
+
+**
+
+**请求URL**
+
+/analyze/progress `GET` 
+
+
+**返回结果**
+
+```json
+double{}
+```
+# AnnotationController
+## saveAnnotation
+
+**
+
+**请求URL**
+
+/annotation/save `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getAnnotation
+
+**
+
+**请求URL**
+
+/annotation/get `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## deleteAnnotation
+
+**
+
+**请求URL**
+
+/annotation/delete `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# DataController
+## 根据caseId获取bug报告
+
+*作者: JiaWei Xu*
+
+**请求URL**
+
+/data/outputByCaseId `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+caseId|string|否|
+
+**返回结果**
+
+```json
+[{
+	"id":"string //bug属性",
+	"bugCategory":"string",
+	"severity":"string",
+	"recurrent":"string",
+	"bugCreateTime":"string",
+	"bugPage":"string",
+	"title":"string",
+	"bugDescription":"string",
+	"imgUrl":"string",
+	"score":"int",
+	"parent":"string",
+	"children":"string[]",
+	"root":"string",
+	"goodNum":"int",
+	"goodWorkerId":"string[]",
+	"badNum":"int",
+	"badWorkerId":"string[]",
+	"testCaseId":"string //测试用例属性",
+	"testCaseName":"string",
+	"testCaseFront":"string",
+	"testCaseBehind":"string",
+	"testCaseDescription":"string",
+	"testCaseCreateTime":"string",
+	"reportId":"string //report属性",
+	"reportName":"string",
+	"reportCreateTime":"string",
+	"scriptLocation":"string",
+	"reportLocation":"string",
+	"logLocation":"string",
+	"deviceModel":"string",
+	"deviceBrand":"string",
+	"deviceOs":"string",
+	"workerId":"string //工人属性",
+	"caseAppName":"string //众测任务属性",
+	"casePaperType":"string",
+	"caseTestType":"string",
+	"caseDescription":"string",
+	"caseRequireDoc":"string",
+	"caseTakeId":"string //原系统中的case_take_id",
+	"originalCaseId":"string //与目前系统中的哪个case对应",
+	"cpSerialNum":"string //cp系统序列号"
+}]
+```
+## bug数据导入
+
+*作者: JiaWei Xu*
+
+**请求URL**
+
+/data/inputFromFile `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+zipFile|file|否|
+jsonFile|file|否|
+originalCaseId|string|否|与目前系统哪个case对应
+cpSerialNum|string|否|来自哪个cp
+
+**返回结果**
+
+```json
+[{
+	"id":"string //bug属性",
+	"bugCategory":"string",
+	"severity":"string",
+	"recurrent":"string",
+	"bugCreateTime":"string",
+	"bugPage":"string",
+	"title":"string",
+	"bugDescription":"string",
+	"imgUrl":"string",
+	"score":"int",
+	"parent":"string",
+	"children":"string[]",
+	"root":"string",
+	"goodNum":"int",
+	"goodWorkerId":"string[]",
+	"badNum":"int",
+	"badWorkerId":"string[]",
+	"testCaseId":"string //测试用例属性",
+	"testCaseName":"string",
+	"testCaseFront":"string",
+	"testCaseBehind":"string",
+	"testCaseDescription":"string",
+	"testCaseCreateTime":"string",
+	"reportId":"string //report属性",
+	"reportName":"string",
+	"reportCreateTime":"string",
+	"scriptLocation":"string",
+	"reportLocation":"string",
+	"logLocation":"string",
+	"deviceModel":"string",
+	"deviceBrand":"string",
+	"deviceOs":"string",
+	"workerId":"string //工人属性",
+	"caseAppName":"string //众测任务属性",
+	"casePaperType":"string",
+	"caseTestType":"string",
+	"caseDescription":"string",
+	"caseRequireDoc":"string",
+	"caseTakeId":"string //原系统中的case_take_id",
+	"originalCaseId":"string //与目前系统中的哪个case对应",
+	"cpSerialNum":"string //cp系统序列号"
+}]
+```
+# ReviewController
+## getReportListByWorkerJob
+
+**
+
+**请求URL**
+
+/review/getReportsByWorkerJob `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getItemsByReport
+
+**
+
+**请求URL**
+
+/review/getItemsByReport `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getAnswerByWorkerJobReportItem
+
+**
+
+**请求URL**
+
+/review/getAnswerByWorkerJobReportItem `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## saveAnswer
+
+**
+
+**请求URL**
+
+/review/saveAnswer `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getWorkers
+
+**
+
+**请求URL**
+
+/review/getWorkersByJob `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getReportsByJob
+
+**
+
+**请求URL**
+
+/review/getReportsByJob `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getCorrectAnswerByReportItem
+
+**
+
+**请求URL**
+
+/review/getCorrectAnswerByReportItemJob `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## updateCorrectAnswer
+
+**
+
+**请求URL**
+
+/review/saveCorrectAnswer `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getItemReportJobAnswers
+
+**
+
+**请求URL**
+
+/review/getItemAnswers `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## setGrade
+
+**
+
+**请求URL**
+
+/review/setGrade `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# 上传 /upload
+## 上传新的Bug报告    /submit  返回具体bug报告的id
+
+**
+
+**请求URL**
+
+/upload/submit `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+useCase|string|否|用例id
+case_take_id|string|否|案例-任务id
+bug_category|string|否|bug分类
+description|string|否|写的描述信息
+img_url|string|否|图片路径,通过逗号分隔
+severity|string|否|严重等级
+recurrent|string|否|复现程度
+title|string|否|填写的bug标题
+report_id|string|否|报告id
+parent|string|否|默认为null 父报告
+page|string|否|页面信息  一级页面-二级页面-三级页面
+case_id|string|否|案例id
+worker_id|string|否|人员id
+
+**返回结果**
+
+```json
+{}
+```
+## good
+
+**
+
+**请求URL**
+
+/upload/good `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## cancelGood
+
+**
+
+**请求URL**
+
+/upload/cancelGood `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## bad
+
+**
+
+**请求URL**
+
+/upload/bad `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## cancelBad
+
+**
+
+**请求URL**
+
+/upload/cancelBad `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## repair
+
+**
+
+**请求URL**
+
+/upload/repair `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## saveTitle
+
+**
+
+**请求URL**
+
+/upload/title `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## repairThums
+
+**
+
+**请求URL**
+
+/upload/thums `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## repairTime
+
+**
+
+**请求URL**
+
+/upload/time `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# HistoryController
+## getHistory
+
+**
+
+**请求URL**
+
+/history/getHistory `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getRoots
+
+**
+
+**请求URL**
+
+/history/getRoots `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getTrees
+
+**
+
+**请求URL**
+
+/history/getTrees `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getTreesStu
+
+**
+
+**请求URL**
+
+/history/getTreesStu `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getSingle
+
+**
+
+**请求URL**
+
+/history/getSingle `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getAll
+
+**
+
+**请求URL**
+
+/history/getAll `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getSingleStu
+
+**
+
+**请求URL**
+
+/history/getSingleStu `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getPath
+
+**
+
+**请求URL**
+
+/history/getPath `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## fresh
+
+**
+
+**请求URL**
+
+/history/fresh `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getSingleByCondition
+
+**
+
+**请求URL**
+
+/history/getSingleByCondition `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getBugByPage
+
+**
+
+**请求URL**
+
+/history/test `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# GraphController
+## get_case_bug_valid
+
+**
+
+**请求URL**
+
+/graph/11 `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## get_thums_total_valid
+
+**
+
+**请求URL**
+
+/graph/12 `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## get_valid_thums
+
+**
+
+**请求URL**
+
+/graph/13 `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## get_valid_fork
+
+**
+
+**请求URL**
+
+/graph/14 `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## ThumsToScores
+
+**
+
+**请求URL**
+
+/graph/21 `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## get_bug_fork
+
+**
+
+**请求URL**
+
+/graph/22 `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## get_rec_fork_valid_thums
+
+**
+
+**请求URL**
+
+/graph/31 `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# RelationController
+## 获取用例下的所有bug  /CTB
+
+**
+
+**请求URL**
+
+/relation/CTB `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+useCase|string|否|用例id
+
+**返回结果**
+
+```json
+{}
+```
+## 删除单条bug  /remove
+
+**
+
+**请求URL**
+
+/relation/remove `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+useCase|string|否|用例id
+bug_id|string|否|bug id
+
+**返回结果**
+
+```json
+{}
+```
+## 删除一个用例下的所有bug    /removeAll
+
+**
+
+**请求URL**
+
+/relation/removeAll `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+useCase|string|否|用例id
+
+**返回结果**
+
+```json
+{}
+```
+# OAuthController
+## auth
+
+**
+
+**请求URL**
+
+/auth `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getLoginUser
+
+**
+
+**请求URL**
+
+/auth/user `GET` 
+
+
+**返回结果**
+
+```json
+{
+	"id":"long",
+	"email":"string",
+	"name":"string",
+	"mobile":"string",
+	"school":"string",
+	"open_id":"string"
+}
+```
+# /oss oss相关操作
+## /ossConf  获取oss必要的信息,秘钥等
+
+**
+
+**请求URL**
+
+/oss/ossConf `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## /featureConf 获取信息
+
+**
+
+**请求URL**
+
+/oss/featureConf `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## ossUpload
+
+**
+
+**请求URL**
+
+/oss/ossUpload `POST` 
+
+
+**返回结果**
+
+```json
+string{}
+```
+# 报告相关 /report
+## getReport
+
+**
+
+**请求URL**
+
+/report/report `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getReportReview
+
+**
+
+**请求URL**
+
+/report/reportReview `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## ThumsRank
+
+**
+
+**请求URL**
+
+/report/ThumsRank `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## ForkRank
+
+**
+
+**请求URL**
+
+/report/ForkRank `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## relations
+
+**
+
+**请求URL**
+
+/report/c `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## keyWords
+
+**
+
+**请求URL**
+
+/report/keyWords `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## charm
+
+**
+
+**请求URL**
+
+/report/charm `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## userRecord
+
+**
+
+**请求URL**
+
+/report/record `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## 路径页面推荐 /pageRec
+
+**
+
+**请求URL**
+
+/report/pageRec `GET` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+case_take_id|string|否|
+report_id|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+## bug 推荐 /bugRec
+
+**
+
+**请求URL**
+
+/report/bugRec `GET` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+case_take_id|string|否|
+report_id|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+# NodeController
+## generateBasicNode
+
+**
+
+**请求URL**
+
+/node/generateBasicNode `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## generateCatchNode
+
+**
+
+**请求URL**
+
+/node/generateCatchNode `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getBasicNode
+
+**
+
+**请求URL**
+
+/node/getBasicNode `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## uploadCatchNode
+
+**
+
+**请求URL**
+
+/node/uploadCatchNode `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## uploadSingleCatchNode
+
+**
+
+**请求URL**
+
+/node/uploadSingleCatchNode `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## uploadSingleCatchNodes
+
+**
+
+**请求URL**
+
+/node/uploadSingleCatchNodes `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# ReviewPaperController
+## uploadReport
+
+**
+
+**请求URL**
+
+/paper/uploadReport `POST` 
+
+
+**返回结果**
+
+```json
+{
+	"status":"string",
+	"message":"string"
+}
+```
+## uploadPaper
+
+**
+
+**请求URL**
+
+/paper/uploadPaper `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getPaperJson
+
+**
+
+**请求URL**
+
+/paper/getPaperJson `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getPaperById
+
+**
+
+**请求URL**
+
+/paper/getPaper `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getReportsByPaper
+
+**
+
+**请求URL**
+
+/paper/getReportsByPaper `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getPapers
+
+**
+
+**请求URL**
+
+/paper/getPapers `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## deletePaper
+
+**
+
+**请求URL**
+
+/paper/delPaper `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## updatePaper
+
+**
+
+**请求URL**
+
+/paper/updatePaper `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getPaperByWorker
+
+**
+
+**请求URL**
+
+/paper/getPaperByWorker `GET` `POST` 
+
+
+**返回结果**
+
+```json
+string{}
+```
+## getPaperAnswerJson
+
+**
+
+**请求URL**
+
+/paper/answer `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# CrowdsourcingToReviewController
+## getExamIdByJobId
+
+**
+
+**请求URL**
+
+/crowdsourcingToReview/examId `GET` `POST` 
+
+
+**返回结果**
+
+```json
+string{}
+```
+## getJobIdByExamId
+
+**
+
+**请求URL**
+
+/crowdsourcingToReview/jobId `GET` `POST` 
+
+
+**返回结果**
+
+```json
+string[]
+```

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است