2012-11-02 40 views
0

我正在使用JPA2和Hibernate 4.0构建Java应用程序 我有一个XML文件,描述了API作为输入或作为输出提供的复杂数据类型。下面的示例。我想使用这个XML来生成可以在我的API中用作参数和返回类型的Java类(或jar)。另外我想在SpringMVC动力前端放入这个jar,以便我可以使用这些类型来附加数据来调用我的API。如果需要,我可以更改XML的格式。 我可以使用哪些工具。我不写这个XML来在我的API或任何其他代码中提到,该工具应该让我创建存根,然后忘记XML。为Java应用程序生成存根

<documentation target="loginValidation" > 
    Returns the result of login validation. 
    Will return LoginValidationResults object if login correct, else a null object. 
    </documentation> 
    <operation name="loginValidation"> 
    <input target="LoginValidationArgs" /> 
    <output target="LoginValidationResults" /> 
    </operation> 

    <structure name="LoginValidationArgs"> 
    <member name="userName" target="String" /> 
    <member name="hashedPassword" target="String" /> 
    <member name="schoolID" target="PositiveInteger" /> 
    </structure> 
    <required target="LoginValidationArgs$schoolID" /> 
    <required target="LoginValidationArgs$userName" /> 
    <required target="LoginValidationArgs$hashedPassword" /> 

    <structure name="LoginValidationResults"> 
    <member name="userID" target="PositiveInteger" /> 
    <member name="userType" target="String" /> 
    <member name="userDisplayName" target="String" /> 
    <member name="schoolID" target="Long" /> 
    </structure> 
    <required target="LoginValidationResults$schoolID" /> 
    <required target="LoginValidationResults$userID" /> 
    <required target="LoginValidationResults$userType" /> 
    <required target="LoginValidationResults$userName" /> 
+0

使用jaxb转换XSD文件java – invariant

+0

@invariant:这些不是XSD文件 –

回答

1

看我的回答类似的,而不是重复,question

答案是使用Eclipse的M2T-JET。这就是它的设计和制造。

+0

谢谢,我正在研究M2T-JET。这听起来像是我的参数/返回数据类型的一个很好的表示? – user1755645

+0

我会模拟你需要输入到源代码中的信息(想想填写空白),因为这样做会轻松实现模板化(这是实现模型,只包含不同于类到类的东西)。如果你有一个不同的模型,也许是一个更高层次或架构模型,那么我会在调用JET之前将该模型转换为第一个“实现”模型。所以我把问题转回给你。这些是您期望在生成的代码中看到的字符串吗?如果是这样,那么你可能已经正确地建模了。 –

+0

是的,这是我想在我的API中使用的最终参数/返回类型。 – user1755645