2014-01-15 49 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實現的示例,所以我可以告訴你的是,你不需要將列表弄平,只需在原始列表中填寫所需的答案併發送回與您的請求一起形成。