Skip to content
Snippets Groups Projects
Commit 94aa404d authored by Σταύρος Παπαδάκης's avatar Σταύρος Παπαδάκης
Browse files

Change response on GET to include details

parent 211975ea
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment