我是Web API的新手,我有問題無法解決。ASP.NET - 調用並處理具有多個不同參數的Web API
這是我的問題:如何調用需要多個參數(流或對象以及兩個或三個字符串)的Web API?以及如何處理Web API內的這些參數?
例如,我在我的網頁API這種方法:
public class MyController : ApiController
{
[HttpPost]
public MyObject Method(Stream s, string first, string second)
{
// take the parameters and do something
}
}
哪裏流是文件流(或在其他情況下的對象)。 如何將所有這些參數添加到客戶端請求主體?以及如何從那裏拿走他們並用於該方法?
編輯: 這個解決方案好嗎? 這裏的客戶端:
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
queryString["first"] = "true";
queryString["second"] = "false";
var uri = "https://myapi.com/api/mycontroller/method?" + queryString;
HttpResponseMessage response;
byte[] byteData = Encoding.UTF8.GetBytes(myFile);
using (var content = new ByteArrayContent(byteData))
{
content.Headers.ContentType = new MediaTypeHeaderValue("<application/json >");
response = await client.PostAsync(uri, content);
}
}
而這裏的Web API:
[HttpPost]
public MyObject Method([FromBody]Stream s, [FromUri]string first, [FromUri]string second)
{
//do something
}
你不能用這種方式多參數傳遞到的WebAPI。使用'[FromBody]' –
好的,謝謝!但我的第一個問題是如何將對象添加到請求主體。第二次如何在Web API方法中處理它們。 – Giobbo
你可以使用get而不是!如果你是特別使用對象明確更新你的帖子與你真正想要的。 – Aravind