Change response on GET to include details

parent 211975ea
......@@ -25,6 +25,11 @@ body, αναφέρονται παρακάτω στις σχετικές παρα
| GET | amka/{amka}/{surname}/extended | JSON μήνυμα | validateAmka |
| GET | amka/{amka}/{surname}[/extended]?fields=[comma separated list of field names] | TEXT μήνυμα | validateAmka |
Σε περίπτωση λάθους, όπως για παράδειγμα μη έγκυρο ΑΜΚΑ ή άλλου λάθους από την
πλευρά του [open.gunet.gr/apis/amka-services/](http://open.gunet.gr/apis/amka-services/)
επιστρέφεται η απάντηση του API ως έχει.
Σχετικό δείγμα απάντησης [παρατίθεται παρακάτω](#other-responses).
Η εφαρμογή δημιουργήθηκε με σημείο εκκίνησης το Slim Framework 3 Skeleton Application.
Περισσότερες λεπτομέρειες στη [σελίδα του Slim-Skeleton](https://github.com/slimphp/Slim-Skeleton)
......@@ -102,7 +107,7 @@ true
12097301234,true
```
## Άλλες πιθανές απαντήσεις της εφαρμογής
## <a name="other-responses"></a>Άλλες πιθανές απαντήσεις της εφαρμογής
Σε περίπτωση που γίνει κλήση σε μη διαθέσιμο resource η εφαρμογή απαντά με
σχετικό μήνυμα.
......@@ -110,8 +115,7 @@ true
Δείγμα απάντησης σε κλήση με λανθασμένο AMKA
```json
{
"message": "Προέκυψε λάθος",
"in": "Αποτυχημένη κλήση. HTTP STATUS 400. Η απάντηση ήταν: {\"error\":\"invalid ssn\"}"
"error": "invalid ssn"
}
```
......
......@@ -137,7 +137,11 @@ class App
'Content-Type: application/json'
], ($detailed_info ? $this->headers : []));
$result = $this->client->get($this->url, $data, $headers);
$results = $this->client->get($this->url, $data, $headers);
if ($results['success'] === false) {
return $this->withJsonReady($res, $results['response'], $results['http_status']);
}
$result = $results['response'];
// request specific fields?
// if so, return string results
......
......@@ -111,10 +111,19 @@ class Client
}
if (intval(($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) / 100) != 2) {
// πραγματοποιήθηκε κλήση αλλά δεν ήταν "επιτυχής"
throw new Exception("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}", $http_code);
return [
'success' => false,
'http_status' => $http_code,
'response' => $result
];
// throw new Exception("Αποτυχημένη κλήση. HTTP STATUS {$http_code}. Η απάντηση ήταν: {$result}", $http_code);
}
curl_close($ch);
return $result;
return [
'success' => true,
'http_status' => $http_code,
'response' => $result
];
}
public function setDebug($debug = true)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment