我正在使用JAX-RS网络服务(泽西岛)。我有一个pojo User.java 。此pojo不是从XSD生成的。这个pojo是手写的。 我可以使用REStful Web服务方法返回这样的pojo吗?另外,在使用Restful WEbservices时是否必须编写XSD?
@GET
@Produces ("application/xml")
public List<User> getUsersAll() {
List<User> als=null;
try {
als= UserService.getInstance().getUserAll();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return als;
}
上面的代码是否可能没有jaxb生成的对象User,java并且只能用手写的User.java? 另外,总是编写XSD是一种好习惯吗? 谢谢!
答案 0 :(得分:1)
我可以使用RESTful Web服务方法返回这样的pojo吗?
---&GT;是的,你可以。
此外,在使用RESTful Web服务时是否必须编写XSD?
---&GT;不,这不是强制性的XSD。
通常,生成或写入XSD很好
即使你手工编写Java类。
那是因为使用你的WS的人/客户会
可能想要你的一些“模型”基本上是
意味着他们想要一个XSD。
对于泽西岛你可以这样做:
<servlet>
<servlet-name>test-rest-service</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.test.rest.resource</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Tomcat将扫描此包并查找资源
那些通过注释映射到URL路径。中
WADL将在运行时自动生成。但是这个WADL会
没有客户可以用来验证的XSD
它发送的数据。