从React-Native调用api时获得422



api期望以下内容:

"user"作为散列(甚至不能从邮递员那里得到这个工作…)要更新为字符串的参数(姓名、电子邮件和密码)图片来自"react-native-image-picker"(我有这个响应)

准备上传上传:

const handleUserUpdate = async () => {
if (photo === null || photo === undefined) {
return;
}
let avatar = photo.assets[0];
let uri = avatar.uri?.replace('file://', '');
// https://stackoverflow.com/questions/32441963/how-to-use-formdata-in-react-native
let formData = new FormData();
formData.append('user[avatar]', {
uri: uri,
name: avatar.fileName,
type: avatar.type,
});
formData.append('user[name]', 'Foo');
updateUserAvatar(formData)
.then(async response => {
await AsyncAlert('Success', 'Response code: ' + JSON.stringify(response));
})
.catch(error => {
Alert.alert('Error', JSON.stringify(error));
});
};

实际上传:

updateUserAvatar = async (avatar: FormData) => {
try {
await fetch(
'https://staging.appcms.dk/api/cX8hvUC6GEKGgUuvzsBCNA/app-memberships/',
{
body: JSON.stringify(avatar),
method: 'PATCH',
credentials: 'include',
headers: {
Accept: 'application/json',
'Content-Type': 'multipar/form-data',
},
},
)
.then(async response => {
if (response.ok) {
let res = await response.json();
console.log(JSON.stringify(res));
return res;
} else {
throw new Error(
response.status + ', ' + response.statusText,
);
}
})
.catch(error => {
console.log(error);
throw error;
});
} catch (error) {
return error;
}
};

我得到的唯一响应是422。我不知道如何将用户作为散列添加到formData。或者标题有什么潜在的问题…

提前感谢!

我试图模仿邮差的补丁调用,但我有同样的问题,在代码-我不知道如何添加一个用户作为哈希…

原来api调用的文档是不完整的,这反过来意味着我的请求头是不完整的…

最新更新