有以下几种解决方案:
curl -X PATCH 'http://your-server-url' \
-H 'Content-Type: application/json' \
-d '{ "name": "John", "email": "john@example.com" }'
如果服务器返回200 OK,则服务器支持补丁请求,否则返回415 Unsupported Media Type或501 Not Implemented。
axios({
method: 'patch',
url: 'http://your-server-url',
headers: {
'Content-Type': 'application/json'
},
data: {
name: 'John',
email: 'john@example.com'
}
})
axios.interceptors.request.use(config => {
config.headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer your-token'
};
return config;
}, error => {
return Promise.reject(error);
});
这是一个拦截器,可以添加所有请求的通用头信息。需要在请求之前设置拦截器。
axios({
method: 'patch',
url: 'http://your-server-url',
headers: {
'Content-Type': 'application/json'
},
params: {
name: 'John',
email: 'john@example.com'
}
})
补丁请求不支持参数,因此不能使用params参数。应该使用data参数。
总之,确认服务器支持补丁请求,正确设置请求头和数据,可以让补丁请求按预期工作。