java - 如何发送具有相同参数名称的请求参数

标签 java web-services playframework-2.1

这个问题是 How do I set params for WS.post() in play 2.1 Java 的延伸

我的网络服务请求处理程序如下

@POST
@Path("/requestPath")
public String addChallengersToLeague(
                    @FormParam("name") String name,
                    @FormParam("values") List values);

因为 WSRequestHolder 接受 Map<String, String>setQueryParameter方法,我无法发送同名的参数列表。

我可以从 POSTMAN 发送带有多个名称为“values”的参数的请求,并且工作正常。

你能建议如何使用 play 来做同样的事情吗?我使用的是play 2.1.3

提前致谢。

最佳答案

这可以使用 play.libs.WS.WSRequest API 来完成

下面是一个简单的例子

WSRequest request = new WSRequest("<Method>"); //Method can be GET, POST etc
request.setUrl("<service-url>");
request.setHeader("Content-Type", "application/x-www-form-urlencoded");

com.ning.http.client.FluentStringsMap map = new com.ning.http.client.FluentStringsMap();

map.add("name", "aniket");

Set<String> values= new HashSet<String>();
values.add("1");
values.add("2");
values.add("3");
values.add("4");

map.add("values", values);

request.setQueryParameters(map);

Promise<Response> response = request.execute();

然后您可以使用 response.get().getBody() 获取响应正文。

关于java - 如何发送具有相同参数名称的请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22910880/

相关文章:

playframework - 在Play 2中是否默认捕获所有通往新 Action 的路线?

java - 使用 Play Framework 2.1.x 的多个数据库

java - "duck an exception"是什么意思?

java - 为 dev/QA/prod 配置 Java EE 6

asp.net - 如何使用 ASP.NET 调用 Web 服务(.wsdl)

playframework - 在运行时更改布局模板

java - PreparedStatement 抛出 MySQLSyntaxErrorException

java - ksoap2 通过 SOAP 接收复杂对象数组

css - 我应该使用哪些 CSS 选择器来设计我的 JSP。 ID 还是类?

mysql - Spring MVC Rest Web服务