restful WebService的入门例子

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

研究了两天CXF对restful的支持。

现在,想实现一个以

http://localhost:9999/roomservice 为入口,

http://localhost:9999/roomservice/room为房间列表,

http://localhost:9999/roomservice/room/001/ 为001号房间的信息,

http://localhost:9999/roomservice/room/001/person 为在001号房间主的人的列表实现用HTTP请求对以上资源的CRUD。

首先建立room,person的POJO,这里只有一点需要注意:

package com.DAO;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="Person")

public class Person {

private String name;

private String sex;

public String getName() {

return name;

}

public void setName(String name) {

= name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

}

一定要在类的前边加上annotation ,这样才能让这个person的信息在POJO和XML之间转换。Room同理:

import java.util.Map;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="Room")

public class Room {

public Room()

{

persons=new HashMap();

}

String id;

Map persons;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public Map getPersons() {

return persons;

}

public void setPersons(Map persons) { this.persons = persons;

}

}

POJO有了,接下来要写DAO,由于主要是为了学习restful,为了方便,不必要将数据持久化到数据库,而是存在一个静态的HashMap中:

package com.DAO;

import java.util.HashMap;

import java.util.Map;

public class RoomDAO {

private static Map rooms;

static {

rooms = new HashMap();

Person p1=new Person();

p1.setName("Boris");

p1.setSex("male");

Room r=new Room();

r.setId("001");

r.getPersons().put(p1.getName(), p1);

rooms.put("001", r);

}

public static void addRoom(Room room) {

rooms.put(room.getId(), room);

}

public static void deleteRoom(String id) {

if (rooms.containsKey(id)) {

rooms.remove(id);

}

}

public static void updateRoom(String id,Room room) {

rooms.remove(id);

rooms.put(room.getId(), room);

}

public static Room getRoom(String id) {

if (rooms.containsKey(id)) {

return rooms.get(id);

} else {

return null;

}

}

/*operations to persons*/

public static void addPerson(String id_room,Person person) { if(rooms.containsKey(id_room))

{

Room room=rooms.get(id_room);

room.getPersons().put(person.getName(), person);

}

}

public static Rooms getRooms()

{

return new Rooms();

}

public static void deletePerson(String id_room,String name) {

if(rooms.containsKey(id_room))

相关文档
最新文档