【发布时间】:2019-08-25 14:33:24
【问题描述】:
使用 RestTemplate getForEntity 方法从端口 8443 调用在端口 8444 上运行的微服务,但出现以下错误: 使用 PostMan -->POST-->http://localhost:8443/company/cases/INX CORP LTD
Error
{
"timestamp": "2019-08-25T13:44:05.939+0000",
"status": 500,
"error": "Internal Server Error",
"message": "405 null",
"path": "/company/cases/INX CORP LTD"
}
RestController
@RequestMapping("/company")
public class CompanyCaseController {
@Autowired
private CompanyCaseService companyCaseService;
@PostMapping(path = "/cases/{companyName}")
public @ResponseBody
Page<ConfonetCases> getCases(@PathVariable String companyName, @RequestBody Map<String, Integer> pagination){
LocalDateTime startTime = LocalDateTime.now();
Pageable pageable = PageRequest.of(pagination.get("page"), pagination.get("size"));
Page<ConfonetCases> cases = companyCaseService.getCases(companyName, pageable);
List<ConfonetCases> confonetCases = new ArrayList<>();
companyCaseService.getCases(companyName, pageable).stream()
.forEach(confonetCases1 -> {
if (confonetCases1.getNextHearingDate() == null) {
Map<String, String> paramsMap = new HashMap<>();
paramsMap.put("companyName", companyName);
paramsMap.put("pagination", "NONE");
ResponseEntity<Judgement> judgementResponseEntity = new RestTemplate().getForEntity("http://localhost:8444/company/judgement/{companyName}",
Judgement.class, paramsMap);
// Make RestTemplate call call and get judgement for the given case confonetCases1
confonetCases1.setOrderDate(judgementResponseEntity.getBody().getDateOfDisposal());
confonetCases1.setJudgementUrl(judgementResponseEntity.getBody().getJudgementURL());
} else {
//Make RestTemplate call to get History foe the given case confonetCases1
//confonetCases1.setNextHearingDate(history.getNextHearingDate);
}
confonetCases.add(confonetCases1);
});
Page<ConfonetCases> Conftcases = new PageImpl<ConfonetCases>(confonetCases,pageable,cases.getNumberOfElements());
LocalDateTime endTime = LocalDateTime.now();
System.out.println("Time Difference: " + Duration.between(startTime, endTime).getSeconds());
return cases;
}
}
@RestController
@RequestMapping(value="/company")
public class CompanyJudgementController {
@Autowired
private JudgementService judgementService ;
@PostMapping(path = "/judgement/{companyName}")
public @ResponseBody
Page<Judgement> getJudgements(@PathVariable String companyName, @RequestBody String pagination){
System.out.println("Inside getJudgements method..............................>>>>");
LocalDateTime startTime = LocalDateTime.now();
Map<String, Integer> pageMap = new HashMap();
pageMap.put("page", 0);
pageMap.put("size", 20);
Pageable pageable = PageRequest.of(pageMap.get("page"), pageMap.get("size"));
Page<Judgement> judgements = judgementService.getJudgements(companyName, pageable);
LocalDateTime endTime = LocalDateTime.now();
System.out.println("Time Difference: " + Duration.between(startTime, endTime).getSeconds());
return judgements;
}
}
Firt Method is getCases() 正在从另一个微服务调用 getJudgements() 方法,但它抛出 405 null 错误
【问题讨论】:
标签: microservices