将多个参数传递给 client.PostAsJsonAsync 函数
Passing multiple parameters to client.PostAsJsonAsync function
我目前在我的网站 api 上发帖是这样的:
client.PostAsJsonAsync("api/controller/methodincontroller", listOfProductObject);
我想知道除了我的 Product 对象列表之外,我还可以向我的控制器中的方法发送一个额外的字符串,而无需使其成为我的 Product 模型的 属性。
如果这不可能,我将不得不为此目的制作一个具有 2 个属性的模型:
IList<Product> productList
string additionalParam
好的,所以我得到了一个不使用 PostAsJsonAsync
:
的示例
设置:
string json = JsonConvert.SerializeObject(new List<somemodel> { new somemodel() });
StringContent sc = new StringContent(json, Encoding.UTF8, "application/json");
HttpClient c = new HttpClient(new HttpClientHandler { UseDefaultCredentials = true });
var x = c.PostAsync("http://localhost:58893/api/values?additionalParam=" + "test", sc).Result; // returns 200
控制器:
public IHttpActionResult Post([FromUri] string additionalParam, [FromBody] List<somemodel> models)
显然这适用于我的示例对象 somemodel
但你明白了。
我目前在我的网站 api 上发帖是这样的:
client.PostAsJsonAsync("api/controller/methodincontroller", listOfProductObject);
我想知道除了我的 Product 对象列表之外,我还可以向我的控制器中的方法发送一个额外的字符串,而无需使其成为我的 Product 模型的 属性。
如果这不可能,我将不得不为此目的制作一个具有 2 个属性的模型:
IList<Product> productList
string additionalParam
好的,所以我得到了一个不使用 PostAsJsonAsync
:
设置:
string json = JsonConvert.SerializeObject(new List<somemodel> { new somemodel() });
StringContent sc = new StringContent(json, Encoding.UTF8, "application/json");
HttpClient c = new HttpClient(new HttpClientHandler { UseDefaultCredentials = true });
var x = c.PostAsync("http://localhost:58893/api/values?additionalParam=" + "test", sc).Result; // returns 200
控制器:
public IHttpActionResult Post([FromUri] string additionalParam, [FromBody] List<somemodel> models)
显然这适用于我的示例对象 somemodel
但你明白了。