Asp.net web api Post-OData服务在Postman中很好,但在web api程序中失败
我已创建OData服务以插入数据库: OData控制器:Asp.net web api Post-OData服务在Postman中很好,但在web api程序中失败,asp.net-web-api,odata,Asp.net Web Api,Odata,我已创建OData服务以插入数据库: OData控制器: public class ReportParameterController : ODataController { private ReportChatBotModel db = new ReportChatBotModel(); [HttpPost] [ODataRoute("PostReportParameter")] public IHttpActionResult Post(Re
public class ReportParameterController : ODataController
{
private ReportChatBotModel db = new ReportChatBotModel();
[HttpPost]
[ODataRoute("PostReportParameter")]
public IHttpActionResult Post(ReportParameterData data)
{
var reportParameter = new ReportParameter { Year = data.Year, IsLatest = true };
switch (data.Period)
{
case "Quarter One":
reportParameter.Quarter = "1";
break;
case "Quarter Two":
reportParameter.Quarter = "2";
break;
case "Quarter Three":
reportParameter.Quarter = "3";
break;
case "Quarter Four":
reportParameter.Quarter = "4";
break;
default:
return BadRequest();
}
db.ReportParameters.Add(reportParameter);
db.SaveChanges();
return Ok();
}
我编写了一个web api,使用http客户端调用上述服务:
using (var client = new HttpClient())
{
var values = new ReportParameterData { Year = year, Period = period };
client.BaseAddress = new Uri("https://myTestHost:44307/ChatBot.Services");
var responseString = await client.PostAsJsonAsync("odata/PostReportParameter", values)
.ContinueWith((postTask) => postTask.Result.EnsureSuccessStatusCode());
}
我使用Postman调用OData服务,它工作正常,但当我尝试使用web api使用OData服务时,未找到错误消息404。有没有建议找出根本原因?非常感谢 你有没有试着和菲德勒一起看。查看请求url和负载的外观。此外,您还应该尝试将完整url放入client.PostAsJsonAsync.Thanks提醒,在我将完整url放入post方法后,问题就解决了。