如何在Moqui中处理具有多个@PathParam用于RESTful调用的URL

时间:2016-08-12 21:07:47

标签: restful-url apache-wink moqui

在编写RESTful API调用时,我得到了一些需要多个路径参数的URL。例如www.mydomain.com/exam/{examId}/subject/{subjectId}/section/{sectionId}/questions 现在,如果我使用任何JAX-RS实现(如Apache Wink),获取路径参数[使用@PathParam]非常简单。

我们是否有简单的方法来处理moqui中的此类调用?

另外,我检查了<resource name="SomeName">...</resource>,但首先我发现它很复杂,也不确定是否有相关性和限制。

1 个答案:

答案 0 :(得分:0)

通过对resource元素的引用,您看起来正在使用Moqui中的Service REST API功能和XML文件。

对于由常量分隔的多个路径参数,您只需使用嵌套的resource和id元素。 mantle.rest.xml中有一个示例,其路径如下:

/rest/s1/mantle/parties/{partyId}/contactMechs/{contactMechId}

该资源和id节点如下所示:

<resource name="parties">
    <id name="partyId">
        <resource name="contactMechs">
            <id name="contactMechId">
                ...
            </id>
        </resource>
    </id>
</resource>

当在相关路径中有多个命名的id元素时,每个名称都有一个上下文字段,其中包含路径中的值,并将传递给内部服务调用,或者用于实体操作,以及任何其他查询字符串或正文参数。