一、该问题的重现步骤是什么?
加密前业务接口
@GetMapping("/search/page")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "业务查询", notes = "传入查询参数")
public R<IPage<PasswordVO>> page(@ApiParam(value = "查询参数", required = true)String param,
@ApiParam(value = "分页参数") Query query) {...}
前端配置
export const getSearchList = (current, size, param) => {
return request({
url: '/api/search/page',
method: 'get',
params: {
param,
current,
size,
}
})
}
2. 按照报文加密实例配置后的业务接口
@ApiCrypto
@GetMapping("/search/page")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "业务查询", notes = "传入查询参数")
public R<IPage<PasswordVO>> page(@ApiParam(value = "查询参数", required = true) @ApiDecryptAes String param,
@ApiParam(value = "分页参数") @ApiDecryptAes Query query) {...}
前端配置
export const getSearchList = (current, size, param) => {
const condition = {
current,
size,
param
}
const data = crypto.encryptAES(JSON.stringify(condition), crypto.aesKey);
return request({
url: '/api/search/page',
method: 'get',
params: {
data
}
})
}
3.接口调用后报错
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
at [Source: (byte[])"{"current":1,"size":10,"param":"aa"}"; line: 1, column: 1]
二、你期待的结果是什么?实际看到的又是什么?
希望提供这类多参数接口的加解密配置指引。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX-Boot 2.8.1
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端