当前位置: 首页 > 知识库问答 >
问题:

“放心”中的POST请求

洪越泽
2023-03-14

对于包含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"}}}

好心的帮助....

共有1个答案

严烨
2023-03-14

看起来您的服务器需要一个请求体,但您将数据作为查询参数发送。如果我没有理解错的话,您希望将数据作为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程序中使用它时,如下所示: