Schlechter Rat für die "perfekte" REST-API

Hallo!



Warum steht 'ideal' in Anführungszeichen ?!

, " ", , — )



Wahrscheinlich haben viele von uns REST-APIs erstellt oder die fertigen von jemand anderem verwendet. Werfen wir einen Blick auf die "unglaublichen" Tricks, mit denen Sie Ihre API von den anderen abheben können.



weißer Gürtel



Alle Werte in json sind Zeichenfolgen und nicht anders!



Nehmen wir das einfachste Objekt:



{
  "stringValue" : "value",
  "intValue": 123
}


Deshalb ist 123 hier, um eine Zahl zu setzen, warum solche Verwirrung? Lassen Sie es eine Zeichenfolge sein, der Deserializer wird es herausfinden:



{
  "stringValue" : "value",
  "intValue": "123"
}


, ? … ?



{
  "stringValue" : "value",
  "intValue": "123",
  "complexValue": {
    "key": "value"
  }
}


… ! -:



{
  "stringValue" : "value",
  "intValue": "123",
  "complexValue": "{
    \"key\": \"value\"
  }"
}


? ? , ? , !



{
  "stringValue" : "value",
  "intValue": "123",
  "complexValue": "{
    \"key\": \"value\",
    \"anotherComplexValue\": {
      \"superKey\": \"megaValue\"
    }
  }"
}


, ! ! !… ? ? , , . complexValue ? , , , , .



"Key": Value — , ...



2-3 , ? :



[
  25000, 
  "", 
  {
    "key1": "value1",
    "key2": "value2"
  }
]


! ? ! ? . , !



[
  25000, 
  "", 
  "{
    \"key1\": \"value1\",
    \"key2\": \"value2\"
  }"
]


! ! , , 5 :



[
  25000, 
  "",
  [
    "value1",
    "value2"
  ] 
]


! json , !







: — , ?



[
  "",
  "[
    \"value1\",
    \"value2\"
  ]",
  "25000"
]


? 3- ? , , , . ? 25000, , . ? ? — , !



. …



- . , , . :



{
  "queryType": "select",
  "table": "lyudi",
  "where": "name =  AND zarplata > 15000"
}


! ! ? , , )

, ?

, !

… ! :



{
  "query": "select * from lyudi where name =  AND zarplata > 15000"
}


! ? ? ? , . ORM? ? -. MSSQL .





""! -



: API ? : ! ! rest' . : , ! !



?!

, , , "", , , , )



, api vpn , : .





- , ! -!



JSON



. , ! , - :



{}


:



{
  "key1": "value1",
  "key2": 2
}


:



{
  "key1": "value1",
  "key2": 2,
  "key3": {
    "123": 456
  }
}


, :



{
  "objectAsArray": ["Vasya", 123, 456, "Piter"]
}


! !





! JSON : VARCHAR(MAX). !



!



dbf, ? !



{
  "data": "Vasya     123  456  Piter                  "
}


10 , 5 , 5 , 20 . , ! , , !





!



— ? , , !



{
  "data": [56, 61, 73, 79, 61, 20, 20, 20, 20, 20, 31, 32, 33, 20, 20, 34, 35, 36, 20, 20, 50, 69, 74, 65, 72, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
}


! :



{
  "data": "[56, 61, 73, 79, 61, 20, 20, 20, 20, 20, 31, 32, 33, 20, 20, 34, 35, 36, 20, 20, 50, 69, 74, 65, 72, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]"
}


, !



P.S. "" P.S. ...



Wenn es Ihnen so vorkam, als würde der Autor übertreiben und erfinden, dann ... Der Autor möchte, dass es so ist. Ich musste mich jedoch mit jedem dieser Fälle befassen. Lasst uns einander respektieren und Gutes tun und keinen Unsinn) Vielen Dank für Ihre Aufmerksamkeit, ich hoffe, dass es an einigen Stellen nicht nur traurig war, sondern auch Spaß machte!




All Articles