Javascript 将整数列表发送到REST API抛出415(不支持的媒体类型)

Javascript 将整数列表发送到REST API抛出415(不支持的媒体类型),javascript,c#,reactjs,asp.net-web-api,.net-core,Javascript,C#,Reactjs,Asp.net Web Api,.net Core,我正在试验reactjs和.net核心web api,并尝试将简单的整数列表发送到rest api。通过postman,我做到了这一点,没有任何问题,但当我尝试从react js代码中执行此操作时,控制台中出现了415个错误: 这是我在API上的方法的外观: // DELETE api/SiteUsers/delete [HttpPost("delete")] public async Task<ActionResult> DeleteSiteU

我正在试验reactjs和.net核心web api,并尝试将简单的整数列表发送到rest api。通过postman,我做到了这一点,没有任何问题,但当我尝试从react js代码中执行此操作时,控制台中出现了415个错误:

这是我在API上的方法的外观:

   // DELETE api/SiteUsers/delete
   [HttpPost("delete")]
   public async Task<ActionResult> DeleteSiteUsers(DeleteValuesDto deleteValues, CancellationToken cancellationToken)
   {
            
        return NoContent();
   }
这是我在前端的
deleteSiteUser
方法:

export const deleteSiteUser = (deleteValues) => {
  console.log('deleteValues', deleteValues);
  return axiosWrapper.request({
    url: `/SiteUsers/delete`,
    method: 'POST',
    deleteValues,
  });
};
以下是控制台日志的结果:


我原以为这会很简单,但我发现事实并非如此://

您将ID包装在一个对象中,该对象具有
字段,但您的端点需要一个普通数组

不要像对待
deleteValues
那样包装
selectedRows
,只需直接传递它即可

const handleDelete = async () => {
    await deleteSiteUser(selectedRows);
  };

您需要按照文档()发送命名的
数据
属性中的数据


如果未设置数据属性,则有效负载为空。最可能的结果是,
Conent-Type
头未设置,因此Asp.Net无法决定如何解析请求主体,然后抛出该错误。您只需在Chrome的开发者控制台中检查,然后设置
数据
属性,并检查该请求的内容类型标题。

是否将此作为表单数据发布?@Marco No。。我只是将其作为一个经典的post请求发送,而不是将其添加到formI中。我只能想象,这与您的axios请求有关。尝试将其设置为
data
axioswapper.request({url:
/SiteUsers/delete
,方法:'POST',数据:deleteValues,})根据文档:@Marco,没错,伙计!我只是红了它!但是谢谢你的帮助。所以你可以写一个带点解释的答案,这样我就可以接受了!谢谢你的帮助。我的端点只需要一个deleteValues,它是一个对象,里面是一个数组?所以,您建议的这个更改也要求我修改API端点?对吗?对不起,我错了,我误解了这个问题。但是,您可能需要大写
?但我不确定。我已经尝试在前端和其他一些东西上利用“价值观”,但它不起作用,我不确定为什么:(
const handleDelete = async () => {
    await deleteSiteUser(selectedRows);
  };
export const deleteSiteUser = (deleteValues) => {
  console.log('deleteValues', deleteValues);
  return axiosWrapper.request({
    url: '/SiteUsers/delete',
    method: 'POST',
    data: deleteValues,
  });
};