我想将两个属性传递到后端,一个是
number
,另一个是
number[]
.
在后端,我有一个使用HTTPPOST方法的函数:
public async Task<IActionResult> UpdateUserSubscriptions(int infocenterId, int[] subscriptions)
{
try
{
int rowsAffected = await repo.UpdateUserSubscriptionsAsync(infocenterId, subscriptions);
return Ok(rowsAffected);
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
我试着用fetch来称呼它:
async UpdateUserSubscriptionsAsync(infocenterId: number, subscriptions: number[]): Promise<void> {
var resp = await fetch(`api/Improvements/UpdateUserSubscriptions`, {
method: 'POST',
body: JSON.stringify({
infocenterId: infocenterId,
subscriptions: subscriptions
}),
headers: { "Content-Type": "application/json" },
credentials: "include"
})
if (resp.status >= 400) throw new Error(`[ImprovementsDbHandler UpdateUserSubscriptionsAsync]: ${await resp.text()}`)
}
但我得到了状态400,错误显示:
JSON值无法转换为
System.Int32[]
JSON是这样的:
{"infocenterId":320,"subscriptions":[9,11]}
可能是什么问题?