问题: 在使用Ant Design Pro框架调用request进行请求发送时,由于后端接口要求,需要将请求体转化为application/json形式进行发送。
以下是出现问题的代码:
export async deleteUser(
body: {
id: string,
}
) {
return request('/api/user/delete', {
method: 'POST'
body: JSON.stringify(body)
})
}
预期请求体:
{"id": "1345"}
实际执行时的请求体:
"1345"
解决方法: 这可能是Stringify的一个特点。要想正常发送Json形式的单变量的请求体,我们需要对请求的body进行字符串拼接:
export async deleteUser(
body: {
id: string,
}
) {
return request('/api/user/delete', {
method: 'POST'
// 在外边拼接上变量名id以及外围的大括号
body: '{"id":' + JSON.stringify(body) + '}'
})
}
拼接后request请求返回200,成功删除了id为1345的用户。