问题描述
在使用@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
- 修改前请求头:
- 修改后请求头:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论