情景描述:前端入参为2个参数,封装在一个类RequestParams中。前端传参时先对该参数进行加密,加密完毕为一串字符串,传给后端,后端对这一串字符串进行解密后再使用,即还原到原参数。
解密前:
{
"werffrhfuhfxxxxx3e34795hfjvv"
}
解密后:
{
“licenseNo”:“晋E12345”
“policyNo”:“1234567890987654321”
}
分析:接受到的只是一串字符串,没有参数名,只有value,没有key。
解决:Controller层类上用@RestController,方法入参使用@requestBody接String reqParams。
@RequestMapping(value = "/父级请求地址")
@RestController
public class XxxController {
@PostMapping(value = "/子级请求地址")
public String getXxxbyXxx(@RequestBody String reqParams) {
}
}
service层的入参和Controller层的一致。
postman请求时使用raw下的text/plain形式,直接传密文,不需要加双引号。
注意:@RestController相当于:@Controller + @ResponseBody