我是ASP.NET新手,我正在try 向Yesno API发出GET请求.
但是,当try 反序列化JSON响应并将值赋给变量时,我得到的值为空值.
如有任何帮助,我们将不胜感激!
控制器代码:
[RoutePrefix("api/YesNo")]
public class YesNoController : ApiController
{
[Route("GetYesNo")]
public HttpResponseMessage GetYesNo()
{
Uri loginUrl = new Uri("https://yesno.wtf/api");
HttpClient client = new HttpClient();
client.BaseAddress = loginUrl;
YesNoModel YesNoData = new YesNoModel();
var httpResponse = Request.CreateResponse(HttpStatusCode.OK);
HttpResponseMessage response = client.GetAsync(client.BaseAddress).Result;
if (response.IsSuccessStatusCode)
{
string data = response.Content.ReadAsStringAsync().Result;
YesNoData = JsonConvert.DeserializeObject<YesNoModel>(data);
}
httpResponse.Content = new StringContent(JsonConvert.SerializeObject(YesNoData), Encoding.UTF8, "application/json");
return httpResponse;
}
}
class YesNoModel
{
string answer { get; set; }
bool forced { get; set; }
string image { get; set; }
}
postman 回复示例:
{
"answer": "no",
"forced": false,
"image": "https://yesno.wtf/assets/no/20-56c4b19517aa69c8f7081939198341a4.gif"
}
调试过程中数据变量的值: data var value个
调试过程中YesNoData变量的值: YesNoData var value个