对于包含JSON主体的post请求,我使用rest assured
我的post请求代码是:-
RestAssuredResponseImpl stat=
(RestAssuredResponseImpl)given().
header("Accept", "application/json").
header("Content-Type", "application/json").
header("userid", "131987”).
queryParam("name", "Test12").
queryParam("title", "Test127123").
queryParam("contactEmail", “abc@gmail.com").
queryParam("description", "testing purpose").
when().post("").thenReturn().getBody();
{"errors":{"error":{"code":400,"type":"HttpMessageNotReadableException","message":"Required request body content is missing: org.springframework.web.method.HandlerMethod$HandlerMethodParameter@8e9299c"}}}
好心的帮助....
看起来您的服务器需要一个请求体,但您将数据作为查询参数发送。如果我没有理解错的话,您希望将数据作为JSON发送。最简单的方法是使用以下方法:
Map<String, Object> jsonAsMap = new HashMap<>();
map.put("name", "Test12");
map.put("title", "Test127123");
map.put("contactEmail", “abc@gmail.com");
map.put("description", "testing purpose");
ResponseBody =
given().
accept(ContentType.JSON).
contentType(ContentType.JSON).
header("userid", "131987”).
body(jsonAsMap).
when().
post("").
thenReturn().body();
这一条给出: 这个: 我想做的是避免为所有测试编写完整的jsons,如果我可以跳过所有“”和{},将会更快。我的方法正确吗?
我使用的是junit4提供的restassured。在我的测试方法中,我在mongodb中创建了一个对象,当我运行测试时,它也成功地持久化了。但是我需要存储创建的id,所以我尝试获取响应体。但是< code>response.getBody()。asString()为空。 当我从外部调用restendpoint时,它会返回带有相关字段的响应体,因此rest API没有问题。 如果上述问题没有答案,
我必须发送一个带有xml数据的post请求,然后验证响应,例如检查状态代码和响应体。
我试图发送一个POST方法到我的API,它返回401错误,而不是200 OK。 事情是这样的: 使用邮递员:POST请求工作正常。 在授权部分,我选择了,并提供了用户名/pwd。 在标题部分,我已经给出了和。我在邮差的身体是: 使用Restarsured:失败并出现401错误。 答复: 不知道为什么当我尝试重新启动时它不起作用。
请求类型:POST 标头: Content-Type:text/plain 下面是我尝试的,但我收到了400个坏请求 有人能帮助我如何传递cookie在头和原始文本在正文。
我试图测试一个具有类似下面的ELB的REST API:https://systemtest-inventory.com/v1/inventory/getinventory 当我用邮差chrome尝试URL时,它给了我有效的响应。但当我尝试在Java程序中使用它时,如下所示: