我有一个类似下一个的Spring控制器方法:
public ResponseDto<Map<Integer, List<CurrencyExchangeRateDto>>> getCurrencyExchangeRatesForClients(@RequestParam("client-ids") List<Integer> clientIds) {
...
return responseDto;
}
实施细节被省略。
我的ResponseDto
类如下:
public class ResponseDto<T> extends BaseResponse implements IResponse {
private T data;
public ResponseDto(int errorCode, String errorMessage, boolean isTechnicalError) {
this.errorCode = errorCode;
this.errorMessage = errorMessage;
this.isTechnicalError = isTechnicalError;
}
public ResponseDto(T data) {
this.data = data;
}
}
问题是,当我使用swagger-codegen
作为data
字段生成客户代码时,我得到Map<String, List<CurrencyExchangeRateDto>>
而不是Map<Integer, List<CurrencyExchangeRateDto>>
。如何使swagger-codegen
生成ResponseDtoMapintListCurrencyExchangeRateDto
类,数据字段为Map<Integer, List<CurrencyExchangeRateDto>>
?
我生成的ResponseDtoMapintListCurrencyExchangeRateDto
类:
public class ResponseDtoMapintListCurrencyExchangeRateDto {
@JsonProperty("data")
private Map<String, List<CurrencyExchangeRateDto>> data = null;
...
}
您会看到data
字段的类型是Map<String, List<CurrencyExchangeRateDto>>
,而不是预期的Map<Integer, List<CurrencyExchangeRateDto>>
。