在Hateoas支持下进行肥皂服务的休息包装



我为某些SOAP服务做了一个REST包装器。现在,我想添加Hateoas支持,但对于使用maven-jaxb2-plugin库的自动创建类的资源。例如自动生成的类BookDetails

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BookDetails", propOrder = {
     "id",
     "name",
     "title",
     "author"
})
public class BookDetails {
    @XmlElement(required = true)
    protected String id;>
  ...
}

我无法从ResourceSupport扩展该类,因为如果.wsdl更改BookDetails类,则将重新创建和覆盖。另外,如果创建了一个从BookDetails(例如BookDetailsResource(延伸的新类,那么我将无法从ResourceSupport延伸。有任何想法或以前的问题类似吗?

这是一个教程,讲述了某人需要实施的如何创建包装器。https://howtodoinjava.com/spring/spring-boot/spring-spring-soap-client-webservicetemplate/

,而不是尝试创建一个域模型以将两者映射到这两者,最好使用SOAP和HAL的单独域模型。

以这种方式,您可以使用Spring Web服务部署其合同优先方法并生成基于WSDL的BookDetails域对象。

从那里您可以定义您的REST控制器,并且是获取/发布/put等的各种方法。

最后一步是定义利用您的REST控制器的ResourceAssembler<BookDetails, Resource<BookDetails>>,最终将基于SOAP的BookDetails对象转换为包括相关链接的HAL表示。

查看https://spring.io/guides/tutorials/rest/,查看如何构造应用程序的其余部分,然后将肥皂呼叫视为是基础服务层,您的休息控制器可以调用。

最新更新