使用feign调用服务端接口时如果服务端接口是get方式,并且采用form方式表达提交的时候需要使用@SpringQueryMap 注解,但是参数列表中只能使用一个@SpringQueryMap注解,多个只会有一个生效。
服务端(被调用方)controller代码:
post请求方式form表单提交参数
@RestController
@RequestMapping("/test")
public class TestController extends BaseController {
/**
* 获取车辆列表
* @param
* @return
*/
@PostMapping(value = "/openapi/getOperatingCarListPage")
public ApiOperationCarResponse getOperatingCarListPage(OperatingCarListRequest request) {
return new ApiOperationCarResponse();
}
}
(调用方)Feign调用时代码:
如前端传的参数是Json格式的
{
"id": 1,
"name": "Tom"
}
使用SpringQueryMap后会转成 id=1&name=Tom
/**
* 获取车辆列表
* @param
* @return
*/
@PostMapping(value = "/openapi/getOperatingCarListPage")
ApiOperationCarResponse getOperatingCarListPage(@SpringQueryMap OperatingCarListRequest request);