Mal consejo para la API REST "perfecta"

¡Hola!



¿Por qué se escribe 'ideal' entre comillas?

, " ", , — )



Probablemente muchos de nosotros hemos creado API REST, o hemos usado el ready-made de otra persona. Echemos un vistazo a los trucos "increíbles" que le ayudarán a hacer que su API esté por encima de las demás.



cinturón blanco



¡Todos los valores en json son cadenas y no de otra manera!



Bueno, tomemos el objeto más simple:



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


Es por eso que 123 está aquí para establecer un número, ¿por qué tanta confusión? Deje que sea una cadena, el deserializador lo resolverá:



{
  "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. ...



Si te pareció que el autor exagera e inventa, entonces ... Al autor le gustaría que así fuera. Sin embargo, tuve que ocuparme de cada uno de estos casos. Respetemos y hagamos el bien, y no tonterías) Gracias por su atención, espero que en algunos lugares no solo haya sido triste, sino también divertido!




All Articles