【问题标题】:Can we get data as Response using Post Method for API Testing using RestAssured Cucumber我们可以使用 RestAssured Cucumber 使用 Post 方法获取数据作为 API 测试的响应吗
【发布时间】:2021-08-31 18:14:30
【问题描述】:

这是完整的问题:

作为投资组合 API,我应该能够从 Balance API 中检索给定帐户和帐户类型的详细信息,以便我可以将其传递给 UI 以供最终用户查看。

场景 1 - 当 Portfolio API 调用 POST /v1/accDetails 给定帐户详细信息的端点(检查)

鉴于客户端有一个有效的 api 身份验证令牌

并且 Portfolio API 有以下

帐号 1234567890(10 个字符)。
帐户类型“CHQ”(3 个字符)

Portfolio API 向Balance API 发送POST 请求

那么 Portfolio API 将收到响应代码为

并且响应正文将包含以下内容(不限于以下字段)

帐户类型、帐号、帐户 ID、帐户名称、帐户余额、产品 TypABA 编号、利率、截至日期所赚取的利息状态。

现在我的问题是我们可以使用 GET 方法执行此操作,但我们可以使用 POST 方法执行此操作吗?当我们使用帖子时,这意味着我们要添加一些东西,但我不想添加任何帐户。我只想获取帐户详细信息。

【问题讨论】:

    标签: api cucumber rest-assured web-api-testing


    【解决方案1】:
    • 由于您只有几个参数要通过 GET 发送,因此最好的方法是使用 [GET]。
    • 如果确实需要,我们可以使用 [POST]。
    • 但如果您可以为此使用 [GET],那么最好的方法是使用 [GET]。
    • 也可以参考:REST API using POST instead of GET

    【讨论】:

    • 但是如果我使用帖子,帖子用于在服务器上创建一些资源。我怎样才能得到回应?例如,我想通过传递帐号来获取我的帐户详细信息。我可以使用 POST 来做到这一点吗?如是。你能帮我看看吗?
    • 我们可以实现post请求来检索数据,而不仅仅是创建。在您的情况下,在您的服务器端为发布请求正文创建发布服务,例如 {"accountNumber": "A334534-B3"} 并且您可以将响应实现为返回帐户详细信息作为发布 200 ok 响应代码和状态而不是创建的 201。通过 200 Ok 用户可以识别请求成为成功。
    • 只是为了确保,我应该在正文或查询参数中发送此请求吗?
    • 正如我在答案中提到的,如果您可以将此服务实现为推荐的 GET 方法,则更好,但如果您需要,您可以使用 POST。如果要使用 GET 方法,则必须使用查询参数,但如果您打算使用 POST,则应在请求正文中发送数据。
    • 首先,您决定使用 GET 还是 POST。 (如果您可以在您的场景中使用 GET 更好,因为那里的查询参数很少)。但是,如果您已经实现了支持的 API 服务,那么请求必须按此发送。
    猜你喜欢
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2012-12-03
    • 2021-09-19
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    相关资源
    最近更新 更多