我控制器中的POST方法需要在响应中返回自定义信息:
public IHttpActionResult PostStuff(PolicyModel model)
{
return Ok("Some useful information");
}
但是在客户端上,我无法找到这些数据的位置:
client.BaseAddress = new Uri("http://localhost:51812/");
var response = client.PostAsJsonAsync("api/stuff", <my json>).Result;
'response'只包含通常的标题信息。我可能不理解OkResult的使用。我该怎么做才能返回信息?
答案 0 :(得分:2)
在客户端中,您应该查看response.Content并反序列化该值(我使用的是newtonsoft json)。示例:
JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync())
无论如何,要返回成功状态,您应该从API
返回return Request.CreateResponse(HttpStatusCode.OK);
所以客户端在响应中收到此信息并进行检查
if(response.IsSuccessStatusCode) { //do stuf }