2014-01-15 19 views
1

对于正常的用户名/密码字段,它只有一个键值对,但最近我遇到了一个复杂的内容服务,它有一组字段(出生日期),我们是否以复数形式重新提交,或者好像它们一样是独立的领域?如何处理Yodlee中的一组登录字段?

实施例: 范式:

["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的这些多值形式之一的例子?

回答

0

你是对的某些金融机构确实有多个分组领域,DOB就是其中之一。我也做了相同的成功实施。因为我在纯粹的SOAP中做了同样的事情,但是我没有任何REST实现的示例,所以我可以告诉你的是,你不需要将列表弄平,只需在原始列表中填写所需的答案并发送回与您的请求一起形成。