我正在使用https://github.com/jayway/rest-assured(版本3.2.1)来测试REST API,但我在设置Content-Type时遇到了问题。
我正在进行以下测试,
@Test
public void testSendContentType(){
String str = givenThat()
.when()
.contentType(ContentType.URLENC)
.get(URL).asString();
System.out.println(str);
}
执行测试后,我设置了以下标题。
捕获标题
Expires: Mon, 30 Jun 2014 14:33:21 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json;charset=utf-8
我调试并查看了代码,但我无法理解内容类型是如何设置的以及为什么它没有设置我提供的内容类型。
我也尝试了以下但没有工作
.header("Content-Type", ""application/x-www-form-urlencoded")
答案 0 :(得分:0)
您应该可以使用以下方式设置内容类型:
given().contentType(ContentType.URLENC). ..
然而,对于GET请求使用x-www-form-urlencoded感觉很奇怪,因为GET请求不应该有正文。通常,REST Assured会在使用请求提供表单参数时使用x-www-form-urlencoded。