Forráskód Böngészése

Merge branch 'testFix-json-store' into 'Develop'

接口返回值string转object



See merge request !1012

menduo 6 éve
szülő
commit
2dd01dc18a

+ 7 - 3
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/SpecialScoreLogicImpl.java

@@ -5,6 +5,8 @@ import cn.iselab.mooctest.site.service.Exam2CaseService;
 import cn.iselab.mooctest.site.web.data.CrowdScoreResponse;
 import cn.iselab.mooctest.site.web.exception.ServerException;
 import cn.iselab.mooctest.site.web.logic.SpecialScoreLogic;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -49,12 +51,14 @@ public class SpecialScoreLogicImpl implements SpecialScoreLogic {
         params.put("caseTakeId", caseId+"-"+examId);
         RestTemplate restTemplate = new RestTemplate();
         String url = crowdAddress+"/Bug/api/analyze/newScores?case_take_id={caseTakeId}";
-        ResponseEntity<List> responseEntity = restTemplate.getForEntity(url,
-                List.class, params);
+        ResponseEntity<String> responseEntity = restTemplate.getForEntity(url,
+                String.class, params);
         if(!responseEntity.getStatusCode().equals(HttpStatus.OK)){
             throw new ServerException(60000, "case "+caseId+" 分数拉取失败");
         }else{
-            return responseEntity.getBody();
+            List<CrowdScoreResponse> responseList = new Gson().fromJson(responseEntity.getBody(), new
+                    TypeToken<List<CrowdScoreResponse>>(){}.getType());
+            return responseList;
         }
 
     }