正好之前做过自定义ArgumentResolver相关的开发。
先指出你的一个问题,ArgumentResolver是对你Controller方法上的单个参数进行解析,也就是说,你的参数是什么类型,就要return什么类型,直接返回一个String除非你的参数就是String,否则肯定type mismatch。
可选择一种解决方式,继承org.springframework.web.method.annotation.RequestParamMethodArgumentResolver,重写boolean supportsParameter(MethodParameter parameter)方法,
重写方法Object resolveName(String name, MethodParameter parameter, NativeWebRequest request),用super方法得到原始字符串,再解密return。
至于出参,还没有实践过。试试继承org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter并重写protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage)方法,看着父类写就行,把需要加密的部分替换掉。