Java 从Rest获取数据到主干收集
我的项目分为四个模块: 1.数据对象 2.坚持不懈 3.服务 4.网 我的大学在网上Java 从Rest获取数据到主干收集,java,rest,backbone.js,resteasy,backbone.js-collections,Java,Rest,Backbone.js,Resteasy,Backbone.js Collections,我的项目分为四个模块: 1.数据对象 2.坚持不懈 3.服务 4.网 我的大学在网上 define( ['jquery', 'underscore', 'backbone', //'app/models/model.driver' ], function ($, _, Backbone, DriverModel) { var Drivers = Backbone.Collection.extend({ urlRoot:
define(
['jquery',
'underscore',
'backbone',
//'app/models/model.driver'
],
function ($, _, Backbone, DriverModel) {
var Drivers = Backbone.Collection.extend({
urlRoot: '/Driver',
model:DriverModel
});
return Drivers;
});
在我的服务中,我有这样一个driver.java文件
import javax.ws.rs.Path;
@Path("/Driver")
public class Driver
{
private int id;
private String firstname;
private String lastName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
我的DriverService.java就是这样
import java.util.ArrayList;
import java.util.List;
//import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.PathParam;
//import javax.ws.rs.core.Response;
//import org.json.JSONObject;
@Path("Driver")
public class DriverService
{
@GET
@Path("/{id}")
@Produces({"application/json"})
public String getDriver(@PathParam("id") String id)
{
return "driver "+id;
}
@GET
@Path("/")
@Produces({"application/json"})
public List<Driver> getAllDrivers()
{
List<Driver> driverList = new ArrayList<Driver>();
Driver driver1 = new Driver();
driver1.setId(1);
driver1.setFirstname("111");
driver1.setLastName("111");
driverList.add(driver1);
Driver driver2 = new Driver();
driver2.setId(2);
driver2.setFirstname("222");
driver2.setLastName("222");
driverList.add(driver2);
Driver driver3 = new Driver();
driver3.setId(3);
driver3.setFirstname("333");
driver3.setLastName("333");
driverList.add(driver3);
return driverList;
}
}
import java.util.ArrayList;
导入java.util.List;
//导入javax.inject.inject;
导入javax.ws.rs.GET;
导入javax.ws.rs.Path;
导入javax.ws.rs.products;
导入javax.ws.rs.PathParam;
//导入javax.ws.rs.core.Response;
//导入org.json.JSONObject;
@路径(“驱动程序”)
公共类驱动服务
{
@得到
@路径(“/{id}”)
@产生({“应用程序/json”})
公共字符串getDriver(@PathParam(“id”)字符串id)
{
返回“驱动程序”+id;
}
@得到
@路径(“/”)
@产生({“应用程序/json”})
公共列表getAllDrivers()
{
List driverList=new ArrayList();
Driver driver1=新的驱动程序();
driver1.setId(1);
驱动器1.setFirstname(“111”);
driver1.setLastName(“111”);
driverList.add(driver1);
驾驶员2=新驾驶员();
driver2.setId(2);
驱动器2.setFirstname(“222”);
driver2.setLastName(“222”);
driverList.add(driver2);
Driver driver3=新的驱动程序();
driver3.setId(3);
驱动器3.setFirstname(“333”);
driver3.setLastName(“333”);
driverList.add(driver3);
返回驱动列表;
}
}
现在我需要将服务中的数据加载到集合中,反之亦然。
我在谷歌上搜索,但不知道如何从这里开始。
有什么帮助吗?首先,新建驱动程序集合的一个实例:
var drivers = new Drivers();
要从服务器检索模型列表,请调用fetch
:
drivers.fetch();
要将集合持久化到服务器,请调用sync:
drivers.sync();
主干还允许单独保存每个模型,这很方便,因为模型通常在单独的视图中表示:
var driver = drivers.at(0);
driver.set('firstname', 'Jesse');
driver.save();
save
方法也可用于创建新模型:
var driver = new DriverModel();
driver.set('lastName', 'Jackson');
// Note: Your server should return at least the id of the new object
driver.save();
要删除模型,请调用destroy
。这将从服务器及其所属的集合(如果有)中删除它:
撇开你实际上并没有连接到一个数据库,是的,它看起来是一个很好的存根。您可以通过访问
/driver
并验证您是否获得了驱动程序列表,在浏览器中试用。
var driver = drivers.at(0);
driver.destroy();