Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 将一长串ID传递给Web API,而不将它们放在URL中_Angular_Rest_Asp.net Web Api_Get_Put - Fatal编程技术网

Angular 将一长串ID传递给Web API,而不将它们放在URL中

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]属性,如下所示。从前端传入的任何对象都应该与后端期望的对象类型

我希望能够将一长串ID列表从角度前端传递到.NETWebAPI。但是,有时这个字符串超过了URL字符的限制,所以我不想通过URL传递它

做这件事的好方法是什么

前端:我首先想到在httpOptions中通过PUT的HTTP主体发送字符串,但后来我意识到通过PUT请求,我甚至可能不需要HTTP主体-我想我可以直接将数据传递到PUT的数据参数中

提出请求


我使用的是.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)
{
}