java - 如何使用 Rest Assured-Java 为 JSON 正文中的参数赋值

标签 java json rest parameters rest-assured

我有以下 JSON 正文,其中 postingDate 是一个参数。任何人都可以帮我编写一个java代码,将参数postingDate替换为像15112019这样的值。下面的 JSON 我通过 String 变量中的 java 代码获取。(此 JSON 由开发人员给出,他们使用 postman 进行测试)

{
    "submissionRequestDTO": {
        "applicationRequestDTO": {
            "selectedProductDTOs": [
                {
                    "allowedProductClass": "LOANS",
                    "applicationRequestType": "NEW",
                    "productGroupCode": "ABADB",
                    "productGroupName": "Home Loan",
                    "productGroupType": "LOAN"
                }
            ]
        },

            "submissionDate": {
                "sqlDate": 1525026600,
                "dateString": "{{postingDate}}",
                "sqltimestamp": 1525026600
            },
            "submissionReceiptMode": "FF",
            "submissionValueDate": {
                "sqlDate": 1525026600,
                "dateString": "{{postingDate}}",
                "sqltimestamp": 1525026600
            },
            "submittedBy": "user",
            "targetUnit": "PP"
        }
    } }

我必须发送帖子请求的代码

> Response rs = given().contentType(ContentType.JSON)
>                 .auth().basic("ID", "PWD").
>                 header("Content-Type", "application/json").
>                 when().log().all()
>                 .body(JiraApiPractice.ReadJSONPayloadRequest().toString()). //Reading the payload 
>                 post("submissionDrafts").
>                 then().             
>                 extract().response();

附注我知道字符串替换,但我想知道是否有任何方法可以通过放心执行此操作

最佳答案

最简单的选择是在拉入正文时调用 .replace("{{postingDate}}", your_value) 。

Response rs = given().contentType(ContentType.JSON)
                 .auth().basic("ID", "PWD").
                header("Content-Type", "application/json").
                 when().log().all()
                .body(JiraApiPractice.ReadJSONPayloadRequest().toString().replace("{{postingDate}}", your_value))
                .post("submissionDrafts").
                 then().             
                 extract().response();

如果您认为要添加更多这样的内容,那么可能值得查看模板解决方案,可能是这样的: https://github.com/HubSpot/jinjava

PS,刚刚看到你的“PS”,我不相信 Rest Assured 的库中有任何与此相关的内容。

关于java - 如何使用 Rest Assured-Java 为 JSON 正文中的参数赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58873863/

相关文章:

java - 通过 RestHighLevelClient 连接时,Elastic search : java.net.ConnectException

json - 从包含映射(键值对)的复杂 JSON 创建 Avro 模式

java - JPA - 从 REST 服务获取子对象

ruby-on-rails - 使用 Ruby Curb 传递 GET 参数

Java TableModel 没有更新?

java - 如何将JTable添加到JTabbedPane中?

java捕获堆栈溢出,获取消息显示和返回问题

jquery - 无法从 JSON 读取/访问数据。?

javascript - 如何将 JSON 数据放入选项列表

rest - 我应该对公共(public) API 中的资源使用 UUID 吗?