まず第一に、私はこの問題を持っている...WebAPIのODataのv4のアクション
WebApi OData v4 ComlexType cannot have an EntityType
...「ゴミだということが、多分私はそれを回避することができます」考え出した私は、私がいることのODataを言ってみてくださいかもしれないと思いましたここで
iは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);
}
}
を行うにはしたいと思い時間かそこらのためにそれを戦ったものだ...私はただの文字列を返していますし、JSONオブジェクトを自分でシリアライズすでに私は
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を返すようになります。