1

我正在使用 JMeter,我目前正面临这个问题。

我想对 API 函数执行 POST 请求,但是当它被发送到调用时,我的正文数据不会以 JSON 格式发送。

这是发送的正文数据

{
    "project_id": "2",
    "name": "Jaya Jadon",
    "phone": "0123456789",
    "email": "email@email.com",
    "remarks": "",
    "co_applicants":[
        {
            "name": "Wongg Feig Uncle",
            "phone": "0123476798",
            "email": "unclee@weie.com"
        },
        {
            "name": "Wineg Feie Father",
            "phone": "0123496897",
            "email": "fatheer@weie.com"
        }
    ],
    "documents": [
        {
            "booking_form": "",
            "consent_form": [   
                "https://www.jjj.com/CF1.jpg"
            ],
            "ic_passport_no":[
                "https://www.jjj.com/IC1.jpg"
            ],
            "additional": ""
        }
    ]
}

但这是发送 POST 请求时发送的内容

{
    "{\r\n\t\"project_id\"" => ">\"2\",\r\n\t\"name\"=>\"Jaya Jadon\",\r\n\t\"phone\"=>\"0123456789\",\r\n\t\"email\": \"email@email.com\",\r\n\t\"remarks\": \"\",\r\n\t\"co_applicants\":[\r\n\t\t{\r\n\t\t\t\"name\": \"Wongg Feig Uncle\",\r\n\t\t\t\"phone\": \"0123476798\",\r\n\t\t\t\"email\": \"unclee@weie.com\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"name\": \"Wineg Feie Father\",\r\n\t\t\t\"phone\": \"0123496897\",\r\n\t\t\t\"email\": \"fatheer@weie.com\"\r\n\t\t}\r\n\t],\r\n\t\"documents\": [\r\n\t\t{\r\n\t\t\t\"booking_form\": \"\",\r\n\t\t\t\"consent_form\": [\t\r\n\t\t\t\t\"https://www.jjj.com/CF1.jpg\"\r\n\t\t\t],\r\n\t\t\t\"ic_passport_no\":[\r\n\t\t\t\t\"https://www.jjj.com/IC1.jpg\"\r\n\t\t\t],\r\n\t\t\t\"additional\": \"\"\r\n\t\t}\r\n\t]\r\n}",
                   "format" => "json",
               "controller" => "v1/lp_developer_referrals",
                   "action" => "create"
}

这就是我期望得到的

{
       "project_id" => "2",
             "name" => "Jaya Jadon",
            "phone" => "0123456789",
            "email" => "email@email.com",
          "remarks" => nil,
    "co_applicants" => nil,
        "documents" => [
        [0] {
              "booking_form" => nil,
              "consent_form" => [
                [0] "https://www.jjj.com/CF1.jpg"
            ],
            "ic_passport_no" => [
                [0] "https://www.jjj.com/IC1.jpg"
            ],
                "additional" => nil
        }
    ],
           "format" => "json",
       "controller" => "v1/lp_developer_referrals",
           "action" => "create"
}

有人可以向我解释为什么我的 Jmeter 没有将我的身体数据作为 json 对象吗?

4

2 回答 2

1

JMeter 应该“按原样”发送数据,仔细检查以下配置:

  1. 确保在HTTP 请求采样器(或HTTP 请求默认值)中未选中Use multipart/form-data for HTTP POST该框
  2. 确保您已将HTTP 标头管理器Content-Type配置为发送值为application/json

更多信息:REST API 测试 - 如何正确执行

于 2017-11-27T10:25:33.917 回答
0

请尝试在您的请求之前或在其中添加一个带有“Content-Type”且值为“application/json”的“HTTP Header Manager”。告诉我们行为是否正确。

于 2017-12-07T18:08:39.993 回答