Java 为RESTful web服务生成POJO
我们在SOAP服务中从WSDL/XSD生成POJO。我们如何在使用RESTful web服务时生成POJO 由于您没有服务的WSDL或WADL(这是一种相对常见的情况),因此您将不得不以艰难的方式完成这项工作 如果服务接受XML,一种可能的方法是编写和使用XSD来描述它接受和返回的文档。如果您以前编写过XSD,并且使用了专门设计的编辑器来辅助这类工作(我使用Eclipse中的编辑器,但还有很多其他编辑器),那么这并不难。否则,就自己写POJO吧。我建议保持这样的POJO非常简单,可能根本没有方法,只有公共字段和注释。需要注意的主要注释有:Java 为RESTful web服务生成POJO,java,rest,web,service,Java,Rest,Web,Service,我们在SOAP服务中从WSDL/XSD生成POJO。我们如何在使用RESTful web服务时生成POJO 由于您没有服务的WSDL或WADL(这是一种相对常见的情况),因此您将不得不以艰难的方式完成这项工作 如果服务接受XML,一种可能的方法是编写和使用XSD来描述它接受和返回的文档。如果您以前编写过XSD,并且使用了专门设计的编辑器来辅助这类工作(我使用Eclipse中的编辑器,但还有很多其他编辑器),那么这并不难。否则,就自己写POJO吧。我建议保持这样的POJO非常简单,可能根本没有方法
-这些元素命名将构成消息外部的元素,这些元素沿任意方向传递。去上课@XmlRootElement
-将映射字段标记为消息的子元素@xmlement
-将映射字段标记为属性@xmldattribute
-将一个类标记为适合用作另一条消息的复合元素的类型@XmlType
@XmlRootElement
public class Example {
@XmlAttribute
public String pqr;
@XmlElement
public String abc;
@XmlElement
public List<String> def = new ArrayList<String>();
}
相反的方向是解组(当然是使用JAXB解组器),并且非常类似
要使用JSON而不是XML,请使用抛弃库。(本质上,您只是在JSON和JAXB之间放置一个特殊的DOM树编写器/读取器。)REST服务是否在WSDL或WADL中发布服务描述符?(有些有,有些没有…)它没有。如何为此类服务生成POJO?
Example example = new Example();
example.abc = "oscar";
example.def.add("bert");
example.def.add("ernie");
// Omitting the attribute; null maps to absence/optionality
JAXBContext c = JAXBContext.newInstance(Example.class);
Marshaller m = c.createMarshaller();
m.marshal(example, System.out);