具有多个参数的RESTful Struts2 webservice

时间:2016-12-28 19:35:58

标签: java rest struts2

我正在编写一个在网址中有多个参数的网络服务。我知道我可以用jax-rs做到这一点,但是我可以用Struts2吗?

我在JAX-RS中可能做了什么:

    @Path("/{service}/{companyName}/{acctId}")
    public Response acceptPostAccount(@PathParam("service") String service,
                                @PathParam("companyName") String companyName,
                                @PathParam("acctid") String acct)

Struts2中我想要的是什么:

@Path({@PathParam("service"),@PathParam("companyName"),@PathParam("acctId")})
private String service;
private String companyName;
private String acctId;

// Setters omitted for brevity.

或者可以将路径参数映射到操作上的字段的任何其他排序配置。

我在网上看到的所有文档和示例都显示了一个名为Id的参数。

1 个答案:

答案 0 :(得分:0)

是的,你可以。

在struts.xml中设置这些常量。

<action name="/{service}/{companyName}/{acctId}">
   ...
</action>

然后将行动定义为:

(this\s+is\s+cool)

当然,您需要在行动中设置属性的设置器。

在Struts2中称为Advanced Wildcards,它自2.1.9起可用。