¿Por qué recibo una respuesta del API que no muestra los campos en el mismo orden en el cual se enviaron en la solicitud al API REST?
Entorno:
Oracle Field Service (OFS)
Problema:
Estoy tratando de cambiar el orden de los campos mostrados en la respuesta del API, pero los campos se retornan en un orden diferente.
Ejemplo:
Al enviar una petición al REST API para el método 'Search for Activities':
api.etadirect.com/rest/ofscCore/v1/activities/custom-actions/search?searchInField=XA_ANY_ORDER&searchForValue=00001&fields=apptNumber,status,date&dateFrom=2019-11-01&dateTo=2022-11-01&includeNonScheduled=true&includeMultiday=parents
Espero recibir la respuesta en el siguiente orden:
{
"totalResults": 3,
"limit": 10,
"offset": 0,
"items": [
{
"apptNumber": "ORCL-SCO00002",
"status": "cancelled",
"date": "2019-11-20"
},
{
"apptNumber": "004003256453-0010",
"status": "completed",
"date": "2019-11-20"
},
{
"apptNumber": "004003256453-0011",
"status": "completed",
"date": "2019-11-20",
}
Solución :
OFS no permite a los usuarios cambiar el orden de los campos presentados en la respuesta del API, por lo tanto, no es posible usar el orden de los campos json devueltos en los comandos API en ninguna lógica interna.
La respuesta para el comando anterior será:
{
"totalResults": 3,
"limit": 10,
"offset": 0,
"items": [
{
"date": "2019-11-20",
"apptNumber": "ORCL-SCO00002",
"status": "cancelled"
},
{
"date": "2019-11-20",
"apptNumber": "004003256453-0010",
"status": "completed"
},
{
"date": "2019-11-20",
"apptNumber": "004003256453-0011",
"status": "completed"
}