当我可以将restfull请求发送到Web API时,如何在控制器post方法中接收请求的Body / payload和header。
public HttpResponseMessage post(HttpRequestMessage request)
{
var RequestBody = HttpContext.Current.Request.InputStream;
var Headers = System.Web.HttpContext.Current.Request.Headers;
这里我可以获取标题值但无法获取正文请求。任何人都可以建议我如何获得身体吗?
答案 0 :(得分:0)
一种方法是在控制器中创建一个看起来像这样的动作方法,
public async Task<HttpResponseMessge> Post(HttpRequestMessage request) {
Var bodyStream = await request.Content.ReadAsStreamAsync();
}
答案 1 :(得分:0)
client = new HttpClient();
client.BaseAddress = new Uri(ur);
if(JsonType is JsonMediaTypeFormatter)
// Add an Accept header for JSON / XMLformat.
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
else
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/xml"));
return client;
HttpContent content = new ObjectContent<Requestclass>(requestClassObject, WebApiClient.JsonType);
HttpResponseMessage response = client.PostAsync("path",content).Result;