Tob*_*obb 6 java rest jersey rest-assured
我有一个REST服务,它接受了许多查询参数,其中包括字符串列表.我使用RestAssured来测试这个REST服务,但是我遇到了将列表传递给服务的一些问题.
我的REST服务:
@GET
@Consumes(Mediatyper.JSON_UTF8)
@Produces(Mediatyper.JSON_UTF8)
public AggregerteDataDTO doSearch(@QueryParam("param1") final String param1,
@QueryParam("param2") final String param2,
@QueryParam("list") final List<String> list) {
Run Code Online (Sandbox Code Playgroud)
我的RestAssured测试:
public void someTest() {
final String url = BASE_URL + "/search?param1=2014¶m2=something&list=item1&list=item2";
final String json = given()
.expect()
.statusCode(200)
.when()
.get(url)
.asString();
Run Code Online (Sandbox Code Playgroud)
当我打印网址时,它看起来像这样:
HTTP://本地主机:9191 /应用/ REST /搜索参数1 = 2014&参数2 =东西与列表= ITEM1和列表= ITEM2
当我在浏览器中尝试此URL时,REST服务正确获取包含2个元素的列表.但是,当我通过我的RestAssured-test运行时,只会注意到后者的params,给我一个1元素的列表(包含"item2").
Joh*_*han 10
您应该将REST Assured升级到最新版本,因为我认为这是旧版本中的错误.您还可以指定如下参数:
final String json =
given().
param("param1", 2014).
param("param2", "something").
param("list", "item1", "item2").
when().
get("/search").
then().
statusCode(200).
extract().
body().asString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6655 次 |
| 最近记录: |