我是Seam的新手,想要使用Seam开发Webservice。我有一个激进的截止日期我可以找到使用Seam开发Web服务的详细信息。任何好的文档,书籍,网站等。
答案 0 :(得分:4)
如the other question中所述,您可以使用JAX-WS。但是,如果你更愿意使用REST服务(JAX-RS),那么:
编辑:来自Seam团队的Norman Richards刚刚发布了blog article about Seam and JAX-RS。看起来非常棒,可能比泽西岛还要多。
我上周看了泽西岛,并且对你需要的代码很少感到惊讶。这是一个小指南:
url-pattern
为service/*
)以下是服务的示例:
@Path("/users")
public class UsersService {
@GET
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Users getUsers() {
return UserQuery.getUsers();
}
}
这是Users类:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "users")
public class Users {
@XmlElement(name="users")
private List<User> users = new ArrayList<User>();
public List<User> getUsers() {
return this.users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}
这是User类:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "user")
public class User implements Serializable {
@XmlElement(name="id")
private long userId;
@XmlElement(name="firstName")
private String firstName;
@XmlElement(name="lastName")
private String lastName;
@XmlElement(name="email")
private String email;
public User() {}
public User(long userId, String firstName, String lastName, String email) {
this.userId = userId;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
//And the getter/setters
}
然后,您可以通过 http://yourhost/service/users
访问该服务
它将生成XML或JSON,具体取决于客户端的HTTP Accepts标头。很酷吧?