0
首先,我有这个问题...的WebAPI的OData v4的操作
WebApi OData v4 ComlexType cannot have an EntityType
...已经想通“这是垃圾,但也许我可以解决它”我想我可能会尝试告诉那的OData我只是返回一个字符串和JSON序列化对象自己...
这是我想要做的
var acptBatch = Builder.EntityType<ProposedOffer>().Collection.Action("AcceptBatch");
acptBatch.Parameter<bool>("asSingleTransaction");
acptBatch.Parameter<string>("perspective");
acptBatch.ReturnsCollection<ValidationResult<ProposedOffer>>();
[HttpPost]
[ODataRoute("AcceptBatch({asSingleTransaction},{perspective})")]
public async Task<IHttpActionResult> AcceptBatch([FromUri]bool asSingleTransaction, [FromUri]string perspective, [FromBody]ICollection<int> offerIds)
{
try
{
var p = (Perspective)Enum.Parse(typeof(Perspective), perspective);
var result = await Service.AcceptOffers(asSingleTransaction, offerIds, p);
return Ok(result);
}
catch (Exception ex)
{
return await Failed(ex);
}
}
什么它已经奋战了一个小时左右已经得到了这么多...
var acptBatch = Builder.EntityType<ProposedOffer>().Collection.Action("AcceptBatch");
acptBatch.Parameter<bool>("asSingleTransaction");
acptBatch.Parameter<string>("perspective");
[HttpPost]
[ODataRoute("AcceptBatch({asSingleTransaction},{perspective})")]
[Route("ProposedOffer/AcceptBatch({asSingleTransaction},{perspective})")]
public async Task<IHttpActionResult> AcceptBatch([FromUri]bool asSingleTransaction, [FromUri]string perspective)
{
try
{
var offerIds = JsonConvert.DeserializeObject<ICollection<int>>(await Request.Content.ReadAsStringAsync());
var p = (Perspective)Enum.Parse(typeof(Perspective), perspective);
var result = await Service.AcceptOffers(asSingleTransaction, offerIds, p);
return Ok();
}
catch (Exception ex)
{
return await Failed(ex);
}
}
任何人有任何想法如何我可以得到我的结果回到基于客户端调用JavaScript的代码? 在这一点上,把Ok()中的任何东西都放回到框架中,无论我如何从初始化模型时声明它,都可以返回406。