You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Karate发起POST请求前验证JSON Payload无空值或空字符串

Karate中POST请求前校验JSON Payload的空值/Null值

实现思路

通过自定义递归函数遍历Payload的所有字段,检查是否存在null或空字符串;若检测到违规值,立即中止请求并打印指定提示信息。

示例代码

Feature: 校验Payload合法性后发起POST请求

  Scenario: 检查Payload空值/Null值并执行请求
    # 定义待发送的JSON Payload
    * def payload = { "username": "", "age": null, "address": { "city": "Beijing", "street": "" } }
    
    # 定义递归校验函数
    * def validatePayload = function(obj) {
        for (var key in obj) {
          var val = obj[key];
          # 检测null或空字符串
          if (val === null || val === "") {
            karate.log("empty string or null values cant be accepted");
            karate.abort(); // 中止后续所有操作
          }
          # 递归校验嵌套对象
          if (typeof val === 'object' && val !== null) {
            validatePayload(val);
          }
        }
      }
    
    # 执行校验
    * call validatePayload payload
    
    # 校验通过后发起POST请求
    * url 'https://your-target-api.com/endpoint'
    * request payload
    * method post
    * status 200

代码说明

  • validatePayload函数会遍历Payload的每一个字段,包括嵌套对象中的字段
  • 一旦发现null或空字符串,会打印提示并通过karate.abort()直接终止后续请求流程
  • 只有当所有字段校验通过时,才会执行POST请求逻辑

内容的提问来源于stack exchange,提问作者Ashish Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:10:32