【发布时间】:2015-06-06 18:09:29
【问题描述】:
我正在制作我的第一个 RESTful Web 服务(使用 MySQL)。但我不知道如何通过 id 从表中删除记录。
这是我到目前为止所做的:
-
通过 id 搜索一个人,并以 XML 格式返回结果(id、全名和年龄):
private PersonDao personDao = new PersonDao(); //method which return a single person in xml @GET @Path("/getPersonByIdXML/{id}") @Produces(MediaType.APPLICATION_XML) public Person getPersonByIdXML(@PathParam("id")int id){ return personDao.getPersonById(id); } // return JSON response -
通过 id 搜索一个人,并以 JSON 格式返回结果(id、全名和年龄):
@GET @Path("/getPersonByIdJSON/{id}") @Produces(MediaType.APPLICATION_JSON) public Person getPersonById(@PathParam("id")int id){ return personDao.getPersonById(id); } -
输出所有人并以JSON格式返回结果(id、全名和年龄):
// the method returns list of all persons @GET @Path("/getAllPersonsInXML") @Produces(MediaType.APPLICATION_XML) public List<Person> getAllPersonsInXML(){ return personDao.getAllPersons(); } -
在数据库中插入一个人:
//insert @GET @Path("/insertPerson/{fullName}/{age}") @Produces(MediaType.APPLICATION_JSON) public String saveNewPerson(@PathParam("fullName") String fullName, @PathParam("age") int age) { Person person = new Person(); person.setFullName(fullName); person.setAge(age); if (!personDao.savePerson(person)) { return "{\"status\":\"ok\"} id="+person.getId(); } else { return "{\"status\":\"not ok\"}"; } } -
在数据库中编辑一个人:
//update @GET @Path("/insertPerson/{id}/{fullName}/{age}") @Produces(MediaType.APPLICATION_JSON) public String updatePerson(@PathParam("id") int id, @PathParam("fullName") String fullName, @PathParam("age") int age) { Person person = new Person(); person.setId(id); person.setFullName(fullName); person.setAge(age); if (!personDao.savePerson(person)) { return "{\"status\":\"ok\"}"; } else { return "{\"status\":\"not ok\"}"; } }
【问题讨论】: