我有以下 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/