如何解决@PutMapping或@PostMapping接收String类型参数多两个“引号问题
作者:@柱子
这篇文章主要介绍了如何解决@PutMapping或@PostMapping接收String类型参数多两个“引号问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
问题描述
在使用@PutMapping接收String类型参数时发现接收到的数据多两个引号
- 1.前端代码
updateStep7ImageName(orgId, projectId, id, name) { return ajax.put(`orgs/${orgId}/project/report/${projectId}/step7/img/${id}/name`, name) },
- 2.后端代码
@PutMapping("/{projectId}/step7/img/{id}/name") @Permission("project:edit") public Result updateStep7ImageName(@RequestBody String name,@PathVariable("projectId") String projectId, @PathVariable("id") Integer id) { return Result.success("修改成功", step7ImagesService.updateStep7ImageName( projectId,WebUtil.getUserOrgId(),id, name)); }
后端Debug接收到的数据,发现是JSON格式的,保存到数据库后多出来两个双引号
解决
前端代码请求头加上: ‘Content-Type’: ‘text/plain’
updateStep7ImageName(orgId, projectId, id, name) { return ajax.put(`orgs/${orgId}/project/report/${projectId}/step7/img/${id}/name`, name, { headers: { 'Content-Type': 'text/plain' } }) },
原因
请求默认是JSON格式的数据Content-Type:application/json
- 修改前请求头:
- 修改后请求头:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。