@FeignClient(value = "cloud-device",contextId = "gaDevice")
public interface GaDeviceFeignClient {
@PostMapping(value = FeignConfig.FEIGN_URL_PREFIX + "/gaDevice/selectGaDeviceList")
ServerResponseEntity<PageVO<GaDeviceVO>> selectGaDeviceList(@SpringQueryMap PageDTO pageDTO, @SpringQueryMap GaDeviceDto gaDeviceDto);
}
@RestController
public class GaDeviceApiController implements GaDeviceFeignClient {
public ServerResponseEntity<PageVO<GaDeviceVO>> selectGaDeviceList(PageDTO pageDTO, GaDeviceDto gaDeviceDto) {
pageDTO正常可以接收得到;
gaDeviceDto值无法接收到。
}
}
网上很多是说QueryMapEncoder编码的问题,无法解析父类变量值,按照解决方案处理后,问题依然没有解决。
问了问ChatGPT,给出的答案是把第二个参数的注解换掉
@PostMapping(value = FeignConfig.FEIGN_URL_PREFIX + "/gaDevice/selectGaDeviceList")
ServerResponseEntity<PageVO<GaDeviceVO>> selectGaDeviceList(@SpringQueryMap PageDTO pageDTO, @RequestParam GaDeviceDto gaDeviceDto);
依然没有解决!!!
再尝试过几次更改后,即将要放弃的时候,居然成功了!
ServerResponseEntity<PageVO<GaDeviceVO>> selectGaDeviceList(@SpringQueryMap PageDTO pageDTO, @RequestBody GaDeviceDto gaDeviceDto);
第一个参数注解@SpringQueryMap;
第二个参数注解@RequestBody。