Я сталкиваюсь с некоторыми трудностями, пытаясь понять, как бороться с симулированным клиентом, который расширяет интерфейс, имеющий более одного метода (конечная точка).Это RestController одного из моих микросервисов:
@RestController
@RequestMapping("/api")
public interface ISPnetController {
@GetMapping("/spnetQuery/summaryInfo/{hostname}")
@ApiOperation(value="", nickname = "summaryInfo")
@ResponseStatus(HttpStatus.OK)
SPSummaryResponseDTO getSPnetSummaryData(@PathVariable("hostname") String hostname);
@PostMapping("/spnetQuery/historyInfo")
@ApiOperation(value="", nickname = "historyInfo")
@ResponseStatus(HttpStatus.OK)
SPHistoryResponseDTO getSPnetHistoryData(@RequestBody SPHistoryReqParams params);
}
Теперь в моем основном сервисе я создаю симулируемый клиент, который расширяет контроллер предыдущего сервиса:
@FeignClient(name = "SPNETService")
public interface ISPnetServiceClient extends ISPnetController {
}
СейчасМне нужно реализовать следующий компонент, но я не уверен, как это сделать:
@Configuration
@Development
public class AppDevConf {
@Bean
ISPnetServiceClient spnetServiceClient()
{
SPSummaryResponseDTO response = new SPSummaryResponseDTO();
response.setSpnetRecordsList(ImmutableList.of(
new SPSummaryInfoDTO("da1", "so1", "se1", "m1", "ec1", "du1","dw","ds"),
new SPSummaryInfoDTO("da2", "so2", "se2", "m2", "ec2", "du2","s","ds")
));
SPHistoryResponseDTO historyResponse = new SPHistoryResponseDTO();
historyResponse.setSpnetHistoryRecordsList(ImmutableList.of(
new SPHistoryDTO("da1", "so1", "se1", "m1", "ec1", "s",2),
new SPHistoryDTO("da2", "so2", "se2", "m2", "ec2", "du2",2)
));
return hostname -> response;
return params -> historyReponse; //Of course I can't use return twice, but this is just to demonstrate what I would want to do, and I can't figure it out how to make it work.
}
}
Он жалуется, что: "Spring multiple non overriding abstract methods found in interface ISPnetServiceClient"