问题描述
在使用@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
- 修改前请求头:

- 修改后请求头:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论