我在服务器上有一个名为 foo 的实体,它有一个分配给它的条形列表。我希望能够从 foo.
但是,我不想更新客户端并发送整个 foo,因为 foo 是一个大对象,所以如果我只是从 foo 中删除一个条形,那么每次都会发送很多 Json。
我只想发送 bar 然后将其从 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
}
}
我的问题:我应该使用什么途径来实现这个目标?或者,如果我以错误的方式解决这个问题,我应该怎么做?
谢谢,尼尔