SpringCloud OpenFeign多个对象传递,无法接收到参数值

@FeignClient(value = "cloud-device",contextId = "gaDevice")
public interface GaDeviceFeignClient {

    @PostMapping(value = FeignConfig.FEIGN_URL_PREFIX + "/gaDevice/selectGaDeviceList")
    ServerResponseEntity> selectGaDeviceList(@SpringQueryMap PageDTO pageDTO, @SpringQueryMap GaDeviceDto gaDeviceDto);

}


@RestController
public class GaDeviceApiController implements GaDeviceFeignClient {

    public ServerResponseEntity> selectGaDeviceList(PageDTO pageDTO, GaDeviceDto gaDeviceDto) {

        pageDTO正常可以接收得到;
		gaDeviceDto值无法接收到。
    }
}

网上很多是说QueryMapEncoder编码的问题,无法解析父类变量值,按照解决方案处理后,问题依然没有解决。

问了问ChatGPT,给出的答案是把第二个参数的注解换掉

@PostMapping(value = FeignConfig.FEIGN_URL_PREFIX + "/gaDevice/selectGaDeviceList")
    ServerResponseEntity> selectGaDeviceList(@SpringQueryMap PageDTO pageDTO, @RequestParam GaDeviceDto gaDeviceDto);

依然没有解决!!!

再尝试过几次更改后,即将要放弃的时候,居然成功了!

ServerResponseEntity> selectGaDeviceList(@SpringQueryMap PageDTO pageDTO, @RequestBody GaDeviceDto gaDeviceDto);

第一个参数注解@SpringQueryMap;

第二个参数注解@RequestBody。

你可能感兴趣的:(spring,cloud,java,spring,FeignClient)