サーバー上にfooというエンティティがあり、バーのリストが割り当てられています。fooから1つのバーを削除できるようにしたい。
ただし、fooは大きなオブジェクトであるため、クライアント側を更新してfoo全体を送信したくないので、fooから1つのバーを削除するだけの場合は、毎回多くのJsonが送信します。
バーを送信して、fooエンティティから削除したいだけです。
私は私のクラスfooを持っています
public class Foo
{
public Foo()
{
Bars = new Collection<Bar>();
}
public ICollection<Bar> Bars { get; set; }
}
ルートをマッピングしました
routes.MapHttpRoute(
name: "fooBarRoute",
routeTemplate: "api/foo/{fooId}/bar/{barId}",
defaults: new { controller = "Bar", action = "RemoveBarFromFoo" }
);
javascript(coffeescript)を介してリクエストを送信する
$.ajax(
url: api/foo/1/bar/1,
data: jsonData,
cache: false,
type: 'XXX',
....
使用するルートがわからないので、PUTを試しましたが、気に入らず、間違っている可能性があります。この状況でどのルートを使用すべきかよくわかりません。
public class BarController : ApiController
{
public void RemoveBarFromFoo(int fooId, Bar bar)
{
// get the foo from the db and then remove the bar from the list and save
}
}
私の質問:この目標を達成するためにどのルートを使用する必要がありますか?または、これを間違った方法で行っている場合は、どうすればよいですか?
ありがとう、ニール