1

对于普通的用户名/密码字段,使用单个键值对非常简单,但我最近遇到了一个复杂的内容服务,它有一组字段(出生日期),我们是否以复数形式重新提交,或者好像它们是分开的领域?

示例:范式:

["componentList"]=>
    array(4) {
      [0]=>
      object(stdClass)#3 (13) {
        ["valueIdentifier"]=>
        string(5) "LOGIN"
        ["valueMask"]=>
        string(11) "LOGIN_FIELD"
        ["fieldType"]=>
        object(stdClass)#6 (1) {
          ["typeName"]=>
          string(4) "TEXT"
        }
        ["size"]=>
        int(20)
        ["maxlength"]=>
        int(15)
        ["name"]=>
        string(5) "LOGIN"
        ["displayName"]=>
        string(7) "User ID"
        ["isEditable"]=>
        bool(true)
        ["isOptional"]=>
        bool(false)
        ["isEscaped"]=>
        bool(false)
        ["helpText"]=>
        string(5) "85046"
        ["isOptionalMFA"]=>
        bool(false)
        ["isMFA"]=>
        bool(false)
      }

奇怪的复数形式:

[3]=>
      object(stdClass)#11 (19) {
        ["defaultValues"]=>
        array(3) {
          [0]=>
          NULL
          [1]=>
          NULL
          [2]=>
          NULL
        }
        ["values"]=>
        array(3) {
          [0]=>
          NULL
          [1]=>
          NULL
          [2]=>
          NULL
        }
        ["validValues"]=>
        array(3) {
          [0]=>
          array(12) {
            [0]=>
            string(2) "01"
            [1]=>
            string(2) "02"
            [2]=>
            string(2) "03"
            [3]=>
            string(2) "04"
          }
          [1]=>
          array(31) {
            [0]=>
            string(2) "01"
            [1]=>
            string(2) "02"
            [2]=>
            string(2) "03"
            [3]=>
            string(2) "04"
          }
          [2]=>
          NULL
        }
        ["valueIdentifiers"]=>
        array(3) {
          [0]=>
          string(8) "OPTIONS1"
          [1]=>
          string(7) "OPTIONS"
          [2]=>
          string(6) "LOGIN1"
        }
        ["valueMasks"]=>
        array(3) {
          [0]=>
          string(12) "/LOGIN_FIELD"
          [1]=>
          string(11) "LOGIN_FIELD"
          [2]=>
          string(12) "/LOGIN_FIELD"
        }
        ["fieldTypes"]=>
        array(3) {
          [0]=>
          object(stdClass)#9 (1) {
            ["typeName"]=>
            string(7) "OPTIONS"
          }
          [1]=>
          object(stdClass)#8 (1) {
            ["typeName"]=>
            string(7) "OPTIONS"
          }
          [2]=>
          object(stdClass)#14 (1) {
            ["typeName"]=>
            string(4) "TEXT"
          }
        }
        ["validationRules"]=>
        array(3) {
          [0]=>
          NULL
          [1]=>
          NULL
          [2]=>
          NULL
        }
        ["sizes"]=>
        array(3) {
          [0]=>
          int(20)
          [1]=>
          int(20)
          [2]=>
          int(20)
        }
        ["maxlengths"]=>
        array(3) {
          [0]=>
          int(40)
          [1]=>
          int(40)
          [2]=>
          int(4)
        }
        ["userProfileMappingExpressions"]=>
        array(3) {
          [0]=>
          NULL
          [1]=>
          NULL
          [2]=>
          NULL
        }
        ["name"]=>
        string(26) "Date of Birth (MM/DD/YYYY)"
        ["displayName"]=>
        string(26) "Date of Birth (MM/DD/YYYY)"
        ["isEditable"]=>
        bool(true)
        ["isOptional"]=>
        bool(false)
        ["isEscaped"]=>
        bool(false)
        ["helpText"]=>
        string(5) "85043"
        ["isOptionalMFA"]=>
        bool(false)
        ["isMFA"]=>
        bool(false)
      }

将此分组发送回 API 时,我目前将其展平,如下所示: credentialFields[3] credentialFields[4] credentialFields[5]

每个都包含日期、月份和年份的相关数据。然而,也许我们应该以与它下降相同的方式将它作为复数卷起来?是否有 REST API 的这些多值形式之一的示例?

4

1 回答 1

0

您是对的,某些金融机构确实有多个字段分组,DOB 就是其中之一。我已经成功地实现了同样的目标。因为我在纯 SOAP 中做了同样的事情,但是我没有任何用于 REST 实现的示例,所以我只能告诉你的是,你不需要展平列表,只需在原始列表中填写所需的答案并发回根据您的要求形成。

于 2014-05-01T02:09:28.127 回答