Angular 将一长串ID传递给Web API,而不将它们放在URL中
我希望能够将一长串ID列表从角度前端传递到.NETWebAPI。但是,有时这个字符串超过了URL字符的限制,所以我不想通过URL传递它 做这件事的好方法是什么 前端:我首先想到在httpOptions中通过PUT的HTTP主体发送字符串,但后来我意识到通过PUT请求,我甚至可能不需要HTTP主体-我想我可以直接将数据传递到PUT的数据参数中 提出请求Angular 将一长串ID传递给Web API,而不将它们放在URL中,angular,rest,asp.net-web-api,get,put,Angular,Rest,Asp.net Web Api,Get,Put,我希望能够将一长串ID列表从角度前端传递到.NETWebAPI。但是,有时这个字符串超过了URL字符的限制,所以我不想通过URL传递它 做这件事的好方法是什么 前端:我首先想到在httpOptions中通过PUT的HTTP主体发送字符串,但后来我意识到通过PUT请求,我甚至可能不需要HTTP主体-我想我可以直接将数据传递到PUT的数据参数中 提出请求 我使用的是.NETCore,但我认为您只需要在后端参数上添加一个[FromBody]属性,如下所示。从前端传入的任何对象都应该与后端期望的对象类型
我使用的是.NETCore,但我认为您只需要在后端参数上添加一个[FromBody]属性,如下所示。从前端传入的任何对象都应该与后端期望的对象类型相匹配。因此,如果您在前端有一个简单的数字数组,那么您的后端将如下所示
[HttpPut]
public async Task<IHttpActionResult> Put_myTable([FromBody] List<int> ids)
{
}
谢谢你,凯尔同志
// PUT: api/myApiPath/5
[ResponseType(typeof(void))]
public async Task<IHttpActionResult> Put_myTable(int id, _myTable _myTable)
{
db.Entry(_myTable).State = EntityState.Modified;
try
{
// ----- put -----
await db.SaveChangesAsync();
// ----- /put -----
}
else
{
error = "Unauthorized.";
throw new HttpResponseException(HttpStatusCode.Forbidden);
}
}
[HttpPut]
public async Task<IHttpActionResult> Put_myTable([FromBody] List<int> ids)
{
}