一、该问题的重现步骤是什么?
加密前业务接口
@GetMapping("/search/page") @ApiOperationSupport(order = 4) @ApiOperation(value = "业务查询", notes = "传入查询参数") public R> 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> 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技术社区 移动端