Condividi tramite


RouteRequestRouteDirectionsBatchSync408Response interface

L'API è una richiesta http che invia batch di query all'API Get Route Directions tramite una singola richiesta sincrona. È possibile chiamare Route Directions Batch API per l'esecuzione asincrona (asincrona) o in modo sincrono (sincronizzazione). L'API asincrona consente al chiamante di eseguire il batch fino a 700 query e l'API di sincronizzazione fino a 100 query. Per chiamare l'API Post Route Directions Batch in una richiesta asincrona, vedere Post Route Directions Batch.

Inviare una richiesta batch sincrona

L'API sincrona è consigliata per le richieste batch leggere. Quando il servizio riceve una richiesta, risponderà non appena vengono calcolati gli elementi batch e non sarà possibile recuperare i risultati in un secondo momento. L'API sincrona restituirà un errore di timeout (una risposta 408) se la richiesta richiede più di 60 secondi. Il numero di elementi batch è limitato a 100 per questa API.

POST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}

Modello di risposta batch

Il contenuto dei dati restituito è simile per le richieste asincrone e di sincronizzazione. Quando si scaricano i risultati di una richiesta batch asincrona, se il batch ha terminato l'elaborazione, il corpo della risposta contiene la risposta batch. Questa risposta batch contiene un componente summary che indica il totalRequests che fanno parte della richiesta batch originale e successfulRequestsad esempio le query eseguite correttamente. La risposta batch include anche una matrice di batchItems che contiene una risposta per ogni query e ogni query nella richiesta batch. Il batchItems conterrà i risultati nello stesso ordine in cui le query originali sono state inviate nella richiesta batch. Ogni elemento in batchItems contiene campi statusCode e response. Ogni response in batchItems è di uno dei tipi seguenti:

  • RouteDirections: se la query è stata completata correttamente.

  • Error: se la query non è riuscita. La risposta conterrà un code e un message in questo caso.

Di seguito è riportato un esempio di risposta batch con 1 riuscito e 1 risultato non riuscito:

{
    "summary": {
        "successfulRequests": 1,
        "totalRequests": 2
    },
    "batchItems": [
        {
            "statusCode": 200,
            "response": {
                "routes": [
                    {
                        "summary": {
                            "lengthInMeters": 1758,
                            "travelTimeInSeconds": 387,
                            "trafficDelayInSeconds": 0,
                            "departureTime": "2018-07-17T00:49:56+00:00",
                            "arrivalTime": "2018-07-17T00:56:22+00:00"
                        },
                        "legs": [
                            {
                                "summary": {
                                    "lengthInMeters": 1758,
                                    "travelTimeInSeconds": 387,
                                    "trafficDelayInSeconds": 0,
                                    "departureTime": "2018-07-17T00:49:56+00:00",
                                    "arrivalTime": "2018-07-17T00:56:22+00:00"
                                },
                                "points": [
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.34892
                                    },
                                    {
                                        "latitude": 47.62094,
                                        "longitude": -122.3485
                                    },
                                    {
                                        "latitude": 47.62095,
                                        "longitude": -122.3476
                                    }
                                ]
                            }
                        ],
                        "sections": [
                            {
                                "startPointIndex": 0,
                                "endPointIndex": 40,
                                "sectionType": "TRAVEL_MODE",
                                "travelMode": "bicycle"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "statusCode": 400,
            "response":
            {
                "error":
                {
                    "code": "400 BadRequest",
                    "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
                }
            }
        }
    ]
}
Extends

Proprietà

body
status

Proprietà ereditate

headers

Intestazioni di risposta HTTP.

request

Richiesta che ha generato questa risposta.

Dettagli proprietà

body

body: ErrorResponseOutput

Valore della proprietà

status

status: "408"

Valore della proprietà

"408"

Dettagli proprietà ereditate

headers

Intestazioni di risposta HTTP.

headers: RawHttpHeaders

Valore della proprietà

Ereditato da HttpResponse.headers

request

Richiesta che ha generato questa risposta.

request: PipelineRequest

Valore della proprietà

Ereditato da HttpResponse.request