如何向放心请求 XML 内容类型
how to request XML content type from rest-assured
我有一个支持 json 和 xml 的 REST api。我想测试 XML 端,但自从升级到版本 2.4.0 后,我收到一个错误:
预期的内容类型 "XML" 与实际的内容类型 "application/json" 不匹配。
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>rest-assured</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>xml-path</artifactId>
<version>2.4.0</version>
</dependency>
这里有一些未通过测试的测试代码示例。
RequestSpecification requestSpec = new RequestSpecBuilder()
.setContentType("application/xml")
.build();
expect()
.contentType(ContentType.XML)
.statusCode(200)
.given()
.spec(requestSpec)
.get("/resources/main/dictionaries");
我也试过直接在 given() 上设置内容类型
given()
.contentType("application/xml")
.expect()
.contentType(ContentType.XML)
.statusCode(404)
.get("/resources/main/revisions/10000");
如何强制请求获取 XML 媒体类型?
请求日志如下所示:
Request method: GET
Multiparts: <none>
Headers: Accept=*/*
Content-Type=application/xml; charset=ISO-8859-1
Body: <none>
你需要一个 Accept
header:
given()
.spec(requestSpec)
.header("Accept", "application/xml")
.get("/resources/main/revisions/10000")
我有一个支持 json 和 xml 的 REST api。我想测试 XML 端,但自从升级到版本 2.4.0 后,我收到一个错误:
预期的内容类型 "XML" 与实际的内容类型 "application/json" 不匹配。
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>rest-assured</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>xml-path</artifactId>
<version>2.4.0</version>
</dependency>
这里有一些未通过测试的测试代码示例。
RequestSpecification requestSpec = new RequestSpecBuilder()
.setContentType("application/xml")
.build();
expect()
.contentType(ContentType.XML)
.statusCode(200)
.given()
.spec(requestSpec)
.get("/resources/main/dictionaries");
我也试过直接在 given() 上设置内容类型
given()
.contentType("application/xml")
.expect()
.contentType(ContentType.XML)
.statusCode(404)
.get("/resources/main/revisions/10000");
如何强制请求获取 XML 媒体类型?
请求日志如下所示:
Request method: GET
Multiparts: <none>
Headers: Accept=*/*
Content-Type=application/xml; charset=ISO-8859-1
Body: <none>
你需要一个 Accept
header:
given()
.spec(requestSpec)
.header("Accept", "application/xml")
.get("/resources/main/revisions/10000")